建立單鏈表有兩種方式:頭插法與尾插法
尾插法是在鍊錶的結尾增加新的節點
頭插法是插入頭節點後面,剩餘節點前面
步驟需要新建乙個尾節點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...