單鏈表的插入操作,包括頭插和尾插,兩種的時間複雜度都為o(n)。
/*
單鏈表插入操作(頭插+尾插)
*/#include
#include
using
namespace std;
//定義結點資料型別
typedef
int elemtype;
//結點定義
typedef
struct lnode lnode,
* linklist;
//單鏈表的初始化
linklist initlist()
//頭插法
void
headinsert
(linklist& l)
}//尾插法
void
tailinsert
(linklist &l)
end-
>next =
null;}
//列印鍊錶
void
printlist
(linklist& l)
cout << endl;
}int
main()
else
if(s ==2)
else
return0;
}
執行結果
頭插法 尾插法建立鍊錶
鍊錶是線性表的一種,一般來說鍊錶就是一系列的儲存資料元素的單元通過指標串接起來形成的,常見的鍊錶是單鏈表和雙鏈表,乙個域用於資料元素的儲存,另乙個或兩個域是指向其他單元的指標。對於單鏈表來說,指標域是乙個,指向當前節點的後繼節點 雙鏈表來說,乙個指標域指向當前節點的後繼節點,另外乙個指標域指向當前節...
鍊錶之頭插法和尾插法
頭插法 生成的鍊錶和我輸入的資料順序是相反的,所以又稱逆序建表法。例如 e d c b a 建成的鍊錶就是 head a b c d e 演算法步驟 建立乙個只有頭結點的空鍊錶。根據待建立鍊錶的元素個數n,迴圈n次執行以下操作 生成乙個新結點 p 輸入元素值賦給新結點 p的資料域 將新結點 p插入到...
頭插法和尾插法
頭插法 初始化頭節點 lk init headnode 資料域可以不用維護 headnode next null return headnode 頭插法 void insert linklist lk headnode,int length int val 0 int index 0 for int...