已知一个顺序表中的元素按元素值非递减有序排列,编写一个函数删除表中多余的值相同的元素。

2024-12-16 14:06:09
推荐回答(1个)
回答1:

int DelSameNode(stru *head)
{
stru *start,*nextnode;
int i = 0;
start = head;
while(start->next != NULL)
{
nextnode = start->next;
if(nextnode->a == start->a)
{
start->next = nextnode->next;
//严谨一点的话可以加一个释放操作;
free(next);
next = NULL;
}
else
{
start = start->next;
i++;
}
}
return i+1;
}