删除单链表中重复元素(或结点)

剔除单链表重复元素(或结点)

//剔除单链表重复元素(或结点)
void pur_LinkList(LinkList L){
	Lnode *p,*s,*q;
	p=L->next;
	if(!p)	return;
	while(p->next)
	{
		q=p;
		while(q->next)				//固定p所指结点,向后遍历,寻找与之数据域相同的结点
		{
			if(q->next->data==p->data)	//在这里将q->next所指的结点存放数据与p作比较
			{
				s=q->next;
				q->next=s->next;
				free(s);
			}
			else q=q->next;
		}
		p=p->next;
	}
}

了解更多关于链表的基本操作,参考本人上篇《单链表的相关操作和测试(C语言)》

你可能感兴趣的:(C语言实现算法)