99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

數(shù)據(jù)結(jié)構(gòu):刪除有序鏈表的重復(fù)節(jié)點

嵌入式攻城獅 ? 來源:嵌入式攻城獅 ? 2023-12-05 15:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

給定一個有序單鏈表(從小到大有序)的頭結(jié)點head(該結(jié)點有值),刪除鏈表中的重復(fù)元素,使鏈表中的所有元素都只出現(xiàn)一次。如當(dāng)輸入{1,1,2} 時,經(jīng)刪除后,原鏈表變?yōu)?{1,2},對應(yīng)的輸出為 {1,2}。

代碼實現(xiàn)

C語言代碼:

structListNode*deleteDuplicates(structListNode*head){
if(head==NULL)
returnhead;

structListNode*p;
p=head;
while(p->next!=NULL)
{
if(p->val==p->next->val)
p->next=p->next->next;
else
p=p->next;
}

returnhead;
}

圖解代碼

第一步:定義一個新結(jié)點,將其指向頭結(jié)點

421334ee-9340-11ee-939d-92fbcf53809c.png

第二步:當(dāng)前結(jié)點的值與當(dāng)前結(jié)點的下一個結(jié)點數(shù)值做比較:如果數(shù)值相等,直接將當(dāng)前結(jié)點指向下一個結(jié)點的next結(jié)點;不相等的話繼續(xù)遍歷結(jié)點

422b930e-9340-11ee-939d-92fbcf53809c.png422f5c14-9340-11ee-939d-92fbcf53809c.png

第三步:返回頭結(jié)點

42562c18-9340-11ee-939d-92fbcf53809c.png

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7632

    瀏覽量

    141670
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70709
  • 數(shù)據(jù)結(jié)構(gòu)

    關(guān)注

    3

    文章

    573

    瀏覽量

    40743
  • 鏈表
    +關(guān)注

    關(guān)注

    0

    文章

    80

    瀏覽量

    10836

原文標(biāo)題:數(shù)據(jù)結(jié)構(gòu):刪除有序鏈表的重復(fù)節(jié)點

文章出處:【微信號:嵌入式攻城獅,微信公眾號:嵌入式攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    講解鏈表刪除、修改以及插入

    上期介紹了動態(tài)鏈表怎么建立,以及使用循環(huán)的方式怎么輸出整個鏈表中各個節(jié)點數(shù)據(jù),這期主要講解 鏈表刪除
    發(fā)表于 01-13 15:25 ?3335次閱讀
    講解<b class='flag-5'>鏈表</b>的<b class='flag-5'>刪除</b>、修改以及插入

    C語言實現(xiàn)單鏈表-增刪改查

    鏈表是由一連串節(jié)點組成的數(shù)據(jù)結(jié)構(gòu),每個節(jié)點包含一個數(shù)據(jù)值和一個指向下一個節(jié)點的指針。
    的頭像 發(fā)表于 05-25 15:05 ?1629次閱讀
    C語言實現(xiàn)單<b class='flag-5'>鏈表</b>-增刪改查

    數(shù)據(jù)結(jié)構(gòu)中最簡單的鏈表

    數(shù)據(jù)結(jié)構(gòu)作為嵌入式工程師必修課程之一,今天,我們就來講一講數(shù)據(jù)結(jié)構(gòu)中最簡單的鏈表,包含鏈表的初始化、插入和遍歷操作。 鏈表在項目開發(fā)中使用的
    發(fā)表于 06-13 17:40 ?528次閱讀

    Linux內(nèi)核的鏈表操作

    Linux內(nèi)核的鏈表操作本文詳細分析了 2.6.x 內(nèi)核中鏈表結(jié)構(gòu)的實現(xiàn),并通過實例對每個鏈表操作接口進行了詳盡的講解。一、 鏈表
    發(fā)表于 08-29 11:13

    Linux Kernel數(shù)據(jù)結(jié)構(gòu):鏈表

    Linux Kernel數(shù)據(jù)結(jié)構(gòu)鏈表原創(chuàng) 2016年10月20日 22:58:25標(biāo)簽:LINUX/kernel/鏈表 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)
    發(fā)表于 09-25 16:41

    收藏 | 程序員面試,你必須知道的8大數(shù)據(jù)結(jié)構(gòu)

    是另一個重要的線性數(shù)據(jù)結(jié)構(gòu),乍一看可能有點像數(shù)組,但在內(nèi)存分配、內(nèi)部結(jié)構(gòu)以及數(shù)據(jù)插入和刪除的基本操作方面均有所不同。鏈表就像一個
    發(fā)表于 09-30 09:35

    數(shù)據(jù)結(jié)構(gòu)試題庫,含答案

    ;next=s;C. s->next=p->next;p=s;7. 設(shè)線性鏈表中的節(jié)點結(jié)構(gòu)為(data, next),若想刪除節(jié)點p的直接
    發(fā)表于 03-07 16:19

    數(shù)據(jù)結(jié)構(gòu)鏈表的基本操作

    嵌入式學(xué)習(xí)基礎(chǔ)-數(shù)據(jù)結(jié)構(gòu)鏈表的基本操作鏈表節(jié)點采用結(jié)構(gòu)體的方式進行定義,下面是最基礎(chǔ)的定義只有一個數(shù)據(jù)
    發(fā)表于 12-22 08:05

    算法與數(shù)據(jù)結(jié)構(gòu)——雙向鏈表

    第三章為算法與數(shù)據(jù)結(jié)構(gòu),本文為3.3 雙向鏈表。
    的頭像 發(fā)表于 09-19 17:56 ?7556次閱讀
    算法與<b class='flag-5'>數(shù)據(jù)結(jié)構(gòu)</b>——雙向<b class='flag-5'>鏈表</b>

    C語言基礎(chǔ)教程之鏈表

    (一)什么是鏈表? 鏈表是一種常見的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu),是一種線性表,是一種在物理存儲單元上非連續(xù)非順序的存儲結(jié)構(gòu)。 鏈表有一系列
    發(fā)表于 11-16 10:22 ?2300次閱讀

    你知道Linux內(nèi)核數(shù)據(jù)結(jié)構(gòu)中雙向鏈表的作用?

    Linux 內(nèi)核提供一套雙向鏈表的實現(xiàn),你可以在 include/linux/list.h 中找到。我們以雙向鏈表著手開始介紹 Linux 內(nèi)核中的數(shù)據(jù)結(jié)構(gòu) ,因為這個是在 Linux 內(nèi)核中使用最為廣泛的
    發(fā)表于 05-14 17:27 ?1996次閱讀

    淺析LeetCode 83刪除排序鏈表中的重復(fù)元素

    給定一個已排序的鏈表的頭 head , 刪除所有重復(fù)的元素,使每個元素只出現(xiàn)一次 。返回 已排序的鏈表 。
    的頭像 發(fā)表于 02-06 10:25 ?931次閱讀

    Linux內(nèi)核的鏈表數(shù)據(jù)結(jié)構(gòu)

    Linux內(nèi)核實現(xiàn)了自己的鏈表數(shù)據(jù)結(jié)構(gòu),它的設(shè)計與傳統(tǒng)的方式不同,非常巧妙也很通用。
    的頭像 發(fā)表于 03-24 11:34 ?1072次閱讀
    Linux內(nèi)核的<b class='flag-5'>鏈表</b><b class='flag-5'>數(shù)據(jù)結(jié)構(gòu)</b>

    鏈表數(shù)據(jù)結(jié)構(gòu)基本概念

    的必要元素。 頭節(jié)點: 頭結(jié)點是為了操作的統(tǒng)一和方便而設(shè)立的,放在第一元素的結(jié)點之前,其數(shù)據(jù)域一般無意義(也可存放鏈表的長度)。 有了頭結(jié)點,對在第一元素結(jié)點前插入結(jié)點和刪除第一結(jié)點,
    的頭像 發(fā)表于 07-27 11:14 ?1066次閱讀
    <b class='flag-5'>鏈表</b><b class='flag-5'>數(shù)據(jù)結(jié)構(gòu)</b>基本概念

    Linux內(nèi)核中使用的數(shù)據(jù)結(jié)構(gòu)

    包含的元素可以動態(tài)創(chuàng)建并插入和刪除。鏈表的每個元素都是離散存放的,因此不需要占用連續(xù)的內(nèi)存。鏈表通常由若干節(jié)點組成,每個節(jié)點
    的頭像 發(fā)表于 11-09 14:24 ?770次閱讀
    Linux內(nèi)核中使用的<b class='flag-5'>數(shù)據(jù)結(jié)構(gòu)</b>