设计在单链表中删除值相同的多余结点的算法

代码如下:

typedef int datatype;
typedef struct node{datatype data;struct node *next}lklist;
void del(lklist *head)
{
	lklist *p,*q,*s;
	p=head->next;
	while(p!=0 && p->next!=0)
	{
		s=p;
		q=p->next;
		while(q!=0)
		{
			if(p->data==q->data)
			{
				s->next=q->next;
				free(q);
				q=s->next;
			}else{
				s=q;
				q=q->next;
			}
		}
		p=p->next;
	}
}
发布了67 篇原创文章 · 获赞 25 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_41104871/article/details/101470188