線性表之鏈式存儲結構的操作

回顧:

每個結點包含數(shù)據(jù)域以及指針域(用于存放下一個結點的位置信息)。

單鏈表是由很多個結點組成的县貌,一個完整的單鏈表應該包括頭結點抖拴,以及尾結點(NULL)。

單鏈表的讀取思路(注意與順序存儲結構進行對比):

1. 聲明一個指針p指向鏈表的第一個節(jié)點缘缚,并且初始化工作計數(shù)j.

2.進行循環(huán)while(j<i),指針不斷后移勾笆,指向下一個節(jié)點,直到j=i桥滨,查找成功窝爪。這個時候取出數(shù)據(jù)P->data.

我們可以看出鏈表的結構中沒有定義表長弛车,所以我們無法使用for來控制循環(huán),單鏈表讀取的核心就是:工作指針后移查找蒲每。

一纷跛、單鏈表的插入和刪除:

我們在順序存儲結構中已經(jīng)看到,因為每個數(shù)據(jù)元素都是緊密相接邀杏,所以當我們進行操作的時候就會牽一發(fā)而動全身贫奠。但是對于鏈表來說,數(shù)據(jù)元素本來就是不是在一起的望蜡,所以我們可以通過改變要插入位置的前后聯(lián)系關系來進行操作叮阅。這樣就可以驚動最少的數(shù)據(jù)元素來插入或者刪除數(shù)據(jù)。

s

如上圖所示泣特,當我們想要在ai和ai+1中插入數(shù)據(jù)的時候浩姥,我們只需要讓ai知道自己的下一位目標是s就可以了,然后讓s知道自己的下一位目標是ai+1. 這樣的話状您,鏈表的插入操作就會變得很簡單:s->next=p-next; p->next=s;?

而我們的鏈表刪除就會變得更加的簡單勒叠,我們只需要去掉中間的ai結點就可以了。

p->next=p->next->next;

刪除:

答:設存儲元素a1的結點為q,要實現(xiàn)將結點q刪除單鏈表的操作,其實就是將它的前繼結點的指針繞過,指向它的后繼結點即可,如圖膏孟。


單鏈表第i個數(shù)據(jù)刪除結點的算法思路:

1.?聲明一結點P指向鏈表第一個結點眯分,初始化j從1開始;

2.當j<i時,就遍歷鏈表柒桑,讓p的指針向后移動弊决,不斷指向下一個結點,j累加?1魁淳;

3.若到鏈表末尾p為空飘诗,則說明第i個元素不存在;

4.則查找成功界逛,將欲刪除的結點p->next賦值給q;

5.?單鏈表的刪除標準語句p->next=q->next;

6.將q結點中的數(shù)據(jù)賦值給e,作為返回昆稿;

7.釋放q結點;

7.??單鏈表整表創(chuàng)建的算法思路:

① 聲明一結點P和計數(shù)器變量i;

② 初始化一空鏈表L;

③ 讓L的頭結點的指針指向NULL,即建立一個帶頭結點的單鏈表息拜;

④ 循環(huán):

?生成一新結點賦值給P溉潭;

?隨機生成一數(shù)字賦值給P的數(shù)據(jù)域p->data;

?將p插入到頭結點與前一新結點之間。



尾插法:


8.?單鏈表整表刪除

???當我們不打算使用這個單鏈表時少欺,我們需要把它銷毀喳瓣,其實也就是在內(nèi)存中將它 釋放掉,以便于留出空間給其他程序或軟件使用赞别。

單鏈表整表刪除的算法思路如下:

① 聲明一結點p和q;

② 將第一個結點賦值給p;

③ 循環(huán):

④ 將下一結點賦值給q;

⑤ 釋放p;

⑥ 將q賦值給p畏陕。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市氯庆,隨后出現(xiàn)的幾起案子蹭秋,更是在濱河造成了極大的恐慌扰付,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件仁讨,死亡現(xiàn)場離奇詭異羽莺,居然都是意外死亡,警方通過查閱死者的電腦和手機洞豁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進店門盐固,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人丈挟,你說我怎么就攤上這事刁卜。” “怎么了曙咽?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵蛔趴,是天一觀的道長。 經(jīng)常有香客問我例朱,道長孝情,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任洒嗤,我火速辦了婚禮箫荡,結果婚禮上,老公的妹妹穿的比我還像新娘渔隶。我一直安慰自己羔挡,他們只是感情好,可當我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布间唉。 她就那樣靜靜地躺著绞灼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪终吼。 梳的紋絲不亂的頭發(fā)上镀赌,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天氯哮,我揣著相機與錄音际跪,去河邊找鬼。 笑死喉钢,一個胖子當著我的面吹牛姆打,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播肠虽,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼幔戏,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了税课?” 一聲冷哼從身側響起闲延,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤痊剖,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后垒玲,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體陆馁,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年合愈,在試婚紗的時候發(fā)現(xiàn)自己被綠了叮贩。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡佛析,死狀恐怖益老,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情寸莫,我是刑警寧澤捺萌,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站膘茎,受9級特大地震影響互婿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜辽狈,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一慈参、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧刮萌,春花似錦驮配、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至涮阔,卻和暖如春猜绣,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背敬特。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工掰邢, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人伟阔。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓辣之,卻偏偏與公主長得像,于是被迫代替她去往敵國和親皱炉。 傳聞我的和親對象是個殘疾皇子怀估,可洞房花燭夜當晚...
    茶點故事閱讀 45,047評論 2 355