编码实现环状单向链表(尾指针直接指向头指针,中间没有空节点),去除连续的重复元素的操作
2014-05-13 22:29
501 查看
转载 http://blog.csdn.net/chivalrousli/article/details/25654493
比如:1(头)->2->2->3->3->1->1(头) 去除以后的结果为1->2->3,注意头尾的1也要去掉一个。
比如:1(头)->2->2->3->3->1->1(头) 去除以后的结果为1->2->3,注意头尾的1也要去掉一个。
struct node { int data; node* next; }; node* uniquelist(node* head) { if(head==NULL||head->next==head) return head; node* p,*q; p=head; q=head->next; while(q!=NULL) { while(p->data==q->data&&q!=head) { p->next=q->next; free(q); q=p->next; } if(q==head) break; p=q; q=q->next; } if(p->data==q->data) { q->next=q->next; free(q); return p; } else return q; }
相关文章推荐
- 编码实现环状单向链表(尾指针直接指向头指针,中间没有空节点),去除连续的重复元素的操作
- 编码实现环状单向链表(尾指针直接指向头指针,中间没有空节点),去除连续的重复元素的操作。
- JAVA环状单向链表去除连续的重复元素(求代码)
- 删除环状单向链表中的重复元素的操作
- (转)问题:假设一个没有头指针的单链表。一个指针指向此单链表中间的一个节点(既不是第一个,也不是最后一个节点),请将该节点从单链表中删除。
- (转)问题:假设一个没有头指针的单链表。一个指针指向此单链表中间的一个节点(既不是第一个,也不是最后一个节点),请将该节点从单链表中删除。
- 给定一个单向链表,目前已经有一个指针,指向某一个节点(记作A),现在要删除这个节点A,如何操作。
- 采用选择排序法对链表进行排序,注意交换操作中不是对链表里某一节点里的某一元素进行交换,而是对两节点指针的交换
- 一个链表的每个节点,有一个指向next指针指向下一个节点,还有一个rand指针指向这个链表中的一个随机节点或NULL,现在要求复制一个单链表来实现这个链表,返回复制后的新链表。
- java实现单向链表CRUD,反转,排序,查找倒数第k个元素,递归输出等操作
- C++ 单链表基本操作分析与实现 链表 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结
- 1.01一个单向链表,不知道头节点,一个指针指向其中的一个节点,问如何删除这个指针指向的节点?
- java实现输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head
- 单向链表末尾插入一个节点(指向指针的指针该怎样理解)
- 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)
- 设一个没有头结点指针的单链表。一个指针指向此单链表中间的一个结点(不是第一个,也不是最后一个结点),将该结点从单链表中删除,要求时间复杂度O(1)。
- 一个单向链表,不知道头节点,一个指针指向其中一个节点,问如何删除这个指针指向的节点?
- 利用双重指针来实现单向链表的节点交换
- 有一个单项的链表,在没有头结点的情况下,只知道有一个指向结点B的指针p,假设这个结点B不是尾结点,删除该节点B。
- javascript中去除数组重复元素的实现方法【实例】