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

}

}

相关内容

热门资讯

阳光电源取得储能一体机相关专利... 5月9日消息,国家知识产权局信息显示,阳光电源股份有限公司申请一项名为“一种储能汇流升压一体机、储能...
阳光电源取得电力转换装置相关专... 5月9日消息,国家知识产权局信息显示,阳光电源股份有限公司申请一项名为“电力转换装置以及储能系统”的...
迁西大黑汀成京津冀 短途游“香... (来源:唐山劳动日报) 近期,迁西县大黑汀水库畔迎来露营热潮,成为京津冀市民短途出游的热门选择。湖畔...
宁德时代申请电池单体相关专利,... 5月9日消息,国家知识产权局信息显示,宁德时代新能源科技股份有限公司申请一项名为“电池单体、电池装置...
邱姓股民向*ST雅博发起索赔 ...   受损股民可至Hehson股民维权平台登记该公司维权:http://wq.finance.sina...