Katelisa 2022-04-04 15:17 采纳率: 86.4%
浏览 109
已结题

已知带头结点的单链表L非递减有序,下列函数实现将L中重复的元素删除,求循环体的写法

int DelSameX(LinkList L)
{ // 将线性表L中重复的元素删除掉,L非递减有序

Node  *p;  // p指向待处理的链表的第一个结点

Node  *r;  // r指向已处理好的无重复元素链表的最后一个结点

p=L->next;
if ( p==NULL ) return OK;  // 空表返回
r=p;  p=p->next;
while ( p!=NULL )
{



// 写出循环体,且不能再增加新的变量



}
return OK;

}

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2022-04-04 16:02
    关注

    修改如下,供参考:

    int DelSameX(LinkList L) //修改
    { // 将线性表L中重复的元素删除掉,L非递减有序
    
        Node  *p;  // p指向待处理的链表的第一个结点
    
        Node  *r;// r指向已处理好的无重复元素链表的最后一个结点
        p=L->next;
                   //if ( p==NULL ) return OK;  // 空表返回
                   //r=p;  p=p->next;
        while ( p && p->next )
        {   // 写出循环体,且不能再增加新的变量
            if (p->date == p->next->date){
                r = p->next;
                p->next = r->next;
                free(r);
            }
            else
                p = p->next;
        }
        return OK;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月13日
  • 已采纳回答 4月5日
  • 创建了问题 4月4日