在一个递增有序的线性表中,有数值相同的元素存在。若存储方式为单链表,设计算法去掉数值相同的元素。
创始人
2024-02-07 06:25:02

算法思想:由于线性表有序,值相同的元素一定在逻辑上相邻,设置两个指针遍历链表,删除值相同的元素即可。

void Del_same(LinkList &L){

LNode *pre=L->next;//设置一个指针指向第一个结点

LNode *q=pre->next;//设置一个指针指向第二个结点

while(q!=NULL){//如果非空继续比较

if(pre->data=q->data)

        p->next=q->next;

        free(q);

        q=pre->next;

//如果元素值相等删除q

else

        p=p->next;

        pre=pre->next;//如果元素值不等依次后移

}

}

相关内容

热门资讯

看!大桥街道的孩子们写了一封给... (来源:上观新闻)“长阳创谷里晨风轻轻,广场的旋律透光阴……宁国路眉州路流过岁月,铁锚已化成秀带的诗...
机构风向标 | 光云科技(68...        2026年8月22日,光云科技(688365.SH)发布2026年半年度报告。截至20...
海泰新能取得排版机相机支架相关... 8月22日消息,国家知识产权局信息显示,唐山海泰新能科技股份有限公司申请一项名为“一种排版机相机支架...
机构风向标 | 威尔药业(60...        2026年8月22日,威尔药业(603351.SH)发布2026年半年度报告。截至20...
机构风向标 | 科强股份(92...        2026年8月21日,科强股份(920665.BJ)发布2026年半年度报告。截至20...