删除单链表中重复的元素
来源:互联网 发布:com域名续费 编辑:程序博客网 时间:2024/06/05 18:31
用Hashtable辅助,遍历一遍单链表就能搞定。
http://www.cnblogs.com/Jax/archive/2009/12/11/1621504.html
实践中发现,curr从表头开始,每次判断下一个元素curr.Next是否重复,如果重复直接使用curr.Next = curr.Next.Next; 就可以删除重复元素。
#include <afxtempl.h>// CMap
// remove duplicated elements from the list
node* RemoveDup(node* head)
{
CMap<int, int, node*, node*> ht;// a Hashtable to store values
if ( head != NULL )
{
node* p = head;
ht[p->data] = p;// put the first value into the table
while( p->next )
{
if ( ht[p->next->data] )// p->next has a dup value
{
node* tmp = p->next;
p->next = p->next->next;
delete tmp;// remove the dup, but p does not move forward
}
else
{
ht[p->next->data] = p->next;// store the p->next value
p = p->next;// p moves forward
}
}
}
return head;
}
- 删除单链表中重复的元素
- 删除单链表中重复的元素
- 删除单链表中重复的元素
- 删除单链表中重复的元素
- 单链表中重复元素的删除
- 单链表中重复元素的删除
- 单链表中重复元素的删除
- 单链表中重复元素的删除
- 单链表中重复元素的删除
- 单链表中重复元素的删除
- 单链表中重复元素的删除
- 重复元素的删除
- 重复元素的删除
- 13.删除单链表中重复的元素
- 单链表中删除重复元素的结点
- 删除已排序单链表中重复的元素
- [链表]单链表中重复元素的删除
- 链表D 单链表中重复元素的删除
- hdu 1754 I Hate It
- xx年xx月xx日xx时xx分xx秒——版本1
- N个鸡蛋放M个篮子,每个篮子不空,保证提不同组合的篮子能取出1至N个鸡蛋
- asp.net中两款文本编辑器NicEdit和Kindeditor
- 相约世纪末
- 删除单链表中重复的元素
- neuq 1017: 平面切割(特别版)
- hdu 2795 Billboard
- MyEclipse配置Tomcat最详细的图解教程
- 使用 session 来统计 访问 次数
- stdafx.h中的内容
- hdu 1022 Train Problem I(栈的应用)
- 测试管理012:结对测试 - 不错的测试实践
- 你若安好