建立單鏈表 頭插法與尾插法

2021-09-29 00:07:52 字數 613 閱讀 7404

建立單鏈表有兩種方式:頭插法與尾插法

尾插法是在鍊錶的結尾增加新的節點

頭插法是插入頭節點後面,剩餘節點前面

步驟需要新建乙個尾節點tail,(初始head=tail)

建立新的節點new,連線到尾節點,tail.next = new

尾節點後移,tail = new

q:為什麼要加新的節點?

a:因為head的節點不能動,增加新的節點讓其移動,讓其指向最後乙個節點,便於連線tail.next=new

返回建立好的列表一般返回head,如果讓head後移,那最後返回head的結果只有最後乙個節點

步驟new.next = head.next

這種做法實際上實現了逆序

假如節點為: 1 2 3

建立過程:

返回頭節點的結果是3 ->2 ->1,原來是 1 2 3,實現了逆序

參考

建立單鏈表(頭插法 尾插法)

1 頭插法建立單鏈表 生成的鍊錶中結點的順序與輸入的順序相反 頭插法建立單鏈表 status createlist l linklist l,int n return ok 2 尾插法建立單鏈表 與輸入的順序相同 尾插法建立單鏈表 status createlist tail linklist l,...

單鏈表頭插法尾插法

標頭檔案如下 ifndef linklist h define linklist h define success 10000 define failure 10001 define size 10 typedef int element struct node typedef struct nod...

建立單鏈表 頭插法 和 尾插法

因為markdown編譯能力有限 暫時上吧,我覺得也挺方便的 又在為自己菜找藉口了 我看著自己畫的圖就把 敲出來了,不算難。注意 實現了鏈棧的入棧之後,我發現這張圖畫的不是特別準確,表頭是不動的,一直是在表頭與第乙個節點之間插入新的節點!上 include includeusing namespac...