数据结构学习(二)——单链表的操作之头插法和尾插法创建链表
http://blog.csdn.net/abclixu123/article/details/8210109
鏈表也是線性表的一種,與順序表不同的是,它在內(nèi)存中不是連續(xù)存放的。在C語言中,鏈表是通過指針相關(guān)實現(xiàn)的。而單鏈表是鏈表的其中一種,關(guān)于單鏈表就是其節(jié)點中有數(shù)據(jù)域和只有一個指向下個節(jié)點的指針域。創(chuàng)建單鏈表的方法有兩種,分別是頭插法和尾插法。
所謂頭插法,就是按節(jié)點的逆序方法逐漸將結(jié)點插入到鏈表的頭部。反之尾插法就是按節(jié)點的順序逐漸將節(jié)點插入到鏈表的尾部。相對來說,頭插法要比尾插法算法簡單,但是最后產(chǎn)生的鏈表是逆序的,即第一個輸入的節(jié)點實際是鏈表的最后一個節(jié)點。而為了習(xí)慣,通常用尾插法來創(chuàng)建鏈表。下面的代碼就是實現(xiàn)了頭插法和尾插法。代碼在Linux下調(diào)試通過。
[cpp]?view plaincopy print?
通過上述代碼可以看出,尾插法確實比頭插法復(fù)雜點,多了兩個判斷。但是這是可以解決的,通過添加一個頭節(jié)點,此節(jié)點不存放數(shù)據(jù)域,只是存放指向下個節(jié)點的指針域就是了。這樣就可以免除掉兩次判斷。整體也要清晰點了。下面是增加一個頭節(jié)點后尾插法的實現(xiàn)代碼:
[cpp]?view plaincopy print?
添加了一個頭節(jié)點后代碼是不是就要清晰點了呢?
總結(jié)
以上是生活随笔為你收集整理的数据结构学习(二)——单链表的操作之头插法和尾插法创建链表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++11 标准新特性:委派构造函数
- 下一篇: lol武器大师