答案:本题并未说单链表有序因此要一次从每个结点出发遍历整个链表删除重复元素。删除结点时一定要保存好被删除元素的前驱结点否则将导致链表断链使得算法发生错误。算法如下:LinkListDelete(LinkListla){//删除带头结点的单链表la中所有重复元素pre=la->next;while(pre!=NULL){m=pre->data;q=pre;p=pre->next;while(p!=NULL){if(p->data==m){//删除重复结点u=p:p=p->next;free(u);}else{q->next=p;q=p;p=p->next;}}q->next=p;pre=pre->next;}本题并未说单链表有序,因此要一次从每个结点出发,遍历整个链表,删除重复元素。删除结点时,一定要保存好被删除元素的前驱结点,否则将导致链表断链,使得算法发生错误。算法如下:LinkListDelete(LinkListla){//删除带头结点的单链表la中所有重复元素pre=la->next;while(pre!=NULL){m=pre->data;q=pre;p=pre->next;while(p!=NULL){if(p->data==m){//删除重复结点u=p:p=p->next;free(u);}else{q->next=p;q=p;p=p->next;}}q->next=p;pre=pre->next;}