在一个递增有序的线性表中,有数值相同的元素存在。若存储方式为单链表,设计算法去掉数值相同的元素。
创始人
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;//如果元素值不等依次后移

}

}

相关内容

热门资讯

科创综指ETF鹏华(58968... 半导体产业链午后持续拉升,行业利好不断,消息面上,日本半导体材料厂Resonac宣布自3月1日起调涨...
港股异动 | 基石药业-B(0... 基石药业-B(02616)再涨超6%,月内累计涨幅已超25%。截至发稿,涨5.03%,报6.68港元...
京剧演出热衷搞笑,跟郭德纲有关 (来源:上观新闻)农历岁末,南北几大京剧院的“反串戏”十分红火。《锁麟囊·春秋亭》里,薛湘灵从轿子里...
万里股份涨2.02%,成交额1... 2月25日,万里股份盘中上涨2.02%,截至14:08,报14.63元/股,成交1905.86万元,...
恒帅股份股价涨5.09%,嘉实... 2月25日,恒帅股份涨5.09%,截至发稿,报150.59元/股,成交2.57亿元,换手率3.51%...