在本人之前的博文 ———— 《(帶頭節點的鍊錶) 宿舍管理系統》中,本人介紹了鍊錶的基本知識點。
那麼,在本人資料結構與演算法的專欄的開始,本人就來介紹下不帶頭節點鍊錶:
由於本人在講解帶頭節點鍊錶的時候就已經講解過了鍊錶基本的增、刪、改、查 操作,所以,本人在這裡就不對這些重複的知識點進行講解了。
本人在本篇博文中主要講解兩個知識點 ————鍊錶的倒序和兩個鍊錶的連線:
首先是鍊錶的倒序:
void reversestu(stu *head)
head->next = null;
head = j;
}
最後是鍊錶的合併:
void combine(stu *head1, stu *head2)
p->next = head2;
}
其實我們看到這裡,也發現其實帶頭節點鍊錶和不帶頭節點鍊錶大致思路一致,甚至連好多**都是大致相同的。
這是因為帶頭節點鍊錶和不帶頭節點鍊錶區別在於帶頭節點鍊錶初始時給的是乙個節點,而不帶頭節點鍊錶最開始時給的是乙個指標,其實相差也不是很大,我們掌握其中一種的使用方式,再了解與另一種的基本區別,就足夠了。
鍊錶的初步學習就結束了,好多資料結構課程的開頭就是以不帶頭節點鍊錶或者線性表開頭的,但本人覺得不帶頭節點鍊錶應該放在c裡去講解,因為本人覺得這裡的知識點相對過於基礎,可能本人的學藝還不太精湛,哈哈,見諒!
帶頭節點的鍊錶
include include includetypedef int type typedef struct node node 建立乙個頭節點並將其指標返回 node node init 列印乙個鍊錶 void node display node head else printf n 找到第n個節...
帶頭節點鍊錶總結
帶頭節點鍊錶的建立 初始化乙個頭結點 包含指向下乙個節點的point next 執行初始化前判斷這個鍊錶是否有效 if null head 主要部分 新增節點分兩種情況 新增的是第乙個節點,直接讓頭結點指向現節點即可 需在鍊錶末尾新增節點,這時tail的作用就顯現出來,tail是上次錄入節點後的末尾...
單向不帶頭結點不帶環的鍊錶實現
鍊錶有很多種類,單向,雙向,不帶頭,帶頭,不帶環,帶環,結合起來一共可以有八種鍊錶形式 今天我們來實現一種名字叫 單向不帶頭不帶環的鍊錶 下面就是每一部分的 實現 首先我們要做的就是函式的宣告,結構體的定義,標頭檔案的引用 pragma once define header printf n s n...