在單鏈表的頭結點之前插入乙個新的節點,使之成為乙個從新節點開始的完整鍊錶。
* 所以這個演算法的時間複雜度為o1
int headinsert(node *&
/*特別強調這裡有個引用*/head,int data)
在鍊錶的尾部插入乙個節點使之成為乙個從原有頭結點到新生成節點為尾的鍊錶
* 如果單鏈表只儲存了head結點,那麼尾插法的複雜度最小只能為on
* 如果存在tail節點,尾插法的複雜度最小可以為o1,但是要考慮對tail節點處理呀。
void tailinsert(node *&head,int data)
return tailinsert()
}
void tailinsert(node *&tail,int data)
單鏈表遞迴
以前覺得遞迴太麻煩,指標方便多了,於是乎單鏈表的題目都是用迭代呀,雙指標呀來做的。這次突破下自己,將單鏈表的遞迴掰扯一下,等下會用乙個簡單的小題目來作為例子 我先講一下平常遞迴的流程,方便待會單鏈表遞迴的理解 題目 輸入乙個數字 n 123,列印出1,2,3 void print n 執行流程圖 鍊...
單鏈表插入操作
typedef struct node node 能夠獲取到根指標,並且修改根指標的指向,能夠檢查鍊錶是否到底 int singlelistinsert node rootp,int newvalue while current null current valueplink unitnew nod...
單鏈表插入刪除
在鍊錶的插入刪除操作上理解起來比順序表更為容易,其不需要變動在i位置前的所有的元素,只需要修改節點指標即可。插入 設在鍊錶的i位置插入新元素,設i 1節點的指標域為p,設插入的節點指標域為s,所以插入操作應該為 s next p next 將s的字尾改為p的字尾,p的字尾是原來的第i個點的指標域,將...