C语言 删除递增有序链表中重复元素
原理
判断L指向的节点是否与后记节点相同,若相同,则删除,如图
如果对你有帮助,点个赞呗
实现代码
结构体
typedef struct SqNode {
int data;
struct SqNode * Next;
}SqNode,*SqList;
功能函数
SqList DeleteRepeateElement(SqNode* L)
{
/*
参数:链表的首地址
函数功能:在递增有序的单链表中删除重复节点
*/
SqList s;//指向待删除的节点
while (L!=NULL)
{
if (L->data == L->Next->data)//如果下一个节点与当前节点相当,删除下一个节点
{
s = L->Next;
L->Next = L->Next->Next;
free(s);
}
L = L->Next;
}
return;
}