資料結構 頭插法和尾插法

2021-10-03 22:27:34 字數 727 閱讀 3844

1.節點的定義

2.採用頭節點的好處

3.採用頭插法建立鍊錶

該方法從空表開始,生成新節點,並將讀取到的資料存放到新節點的資料域中,並將新節點插入到當前鍊錶的表頭,即頭節點之後。

採用頭插法建立單鏈表時,讀入資料的順序與生成的鍊錶中的元素的順序是相反的。每個節點插入的時間為o(1),設單鏈表長為n,則總時間複雜度為o(n)。

4.採用尾插法建立鍊錶

頭插法建立單鏈表的演算法雖然簡單,但是生成的鍊錶中的結點的次序和輸入資料的順序不一致。若希望兩者的次序一致,則可以採用尾插法,該方法將新結點插入到當前鍊錶的表尾,為此必須增加乙個尾指標r,使其始終指向當前鍊錶的尾結點。

因為附設了乙個指向表尾結點的指標,故時間複雜度和頭插法相同。

頭插法和尾插法

頭插法 初始化頭節點 lk init headnode 資料域可以不用維護 headnode next null return headnode 頭插法 void insert linklist lk headnode,int length int val 0 int index 0 for int...

資料結構 單鏈表的建立 尾插法 頭插法

單鏈表的建立 尾插法 頭插法 include includeusing namespace std struct lnodelnode,linklist lnode結點,linklist單鏈表 如果用後插法插入元素,時間複雜度為o n2 設定乙個表尾指標r,始終指向表尾 尾插法建立單鏈表,時間複雜度...

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

頭插法和尾插法建立單鏈表 include using namespace std typedef int elemtype typedef struct lnode linklist 頭插法建表 從尾部乙個乙個往前插入 void createlisthead linklist l,elemtype ...