文章結束給大家來個程式設計師笑話:[m]
單項鍊表插入操縱,我想應該是最基本不過的貨色,今天要介紹的是比較簡練的版本。
需求:插入乙個node到鍊錶的準確位置,以後鍊錶中節點的value已經按照由小到大進行排列。
傳統的插入操縱:
int insertnode(node** rootp,int new_value)
new = (node*)malloc(sizeof(node));
if(new == null)
return 0;
new->value = new_value;
new->link = current;
if(previous == null)else
return 1;
}
下面的演算法雖然沒有什麼問題,但是需要定義current和previous2個變數,
而且需要對插入到第乙個node的情況作特別處理。
每日一道理
如果只看到太陽的黑點,那你的生活將缺少溫暖;如果你只看到月亮的陰影,那麼你的生命歷程將難以找到光明;如果你總是發現朋友的缺點,你麼你的人生旅程將難以找到知音;同樣,如果你總希望自己完美無缺,假設你的這一願望真的能如願以償,那麼你最大的缺點就是沒有缺點。
下面請看改良版本,只要定義乙個current變數,而且不需要插入到第乙個node的情況作特別處理。
int insertnode(node** linkp,int new_value)
new = (node*)malloc(sizeof(node));
if(new == null)
return 0;
new->value = new_value;
new->link = current;
*linkp = new;
return 1;
}
如果鍊錶開始的狀態如下:
可見,new node需要插入到乙個表頭。
插入前的各指標的狀態如下:
插入new node
文章結束給大家分享下程式設計師的一些笑話語錄: 大家喝的是啤酒,這時你入座了。
你給自己倒了杯可樂,這叫低配置。
你給自已倒了杯啤酒,這叫標準配置。
你給自己倒了杯茶水,這茶的顏色還跟啤酒一樣,這叫木馬。
你給自己倒了杯可樂,還滴了幾滴醋,不僅顏色跟啤酒一樣,而且不冒熱氣還有泡泡,這叫超級木馬。
你的同事給你倒了杯白酒,這叫推薦配置。
菜過三巡,你就不跟他們客氣了。
你向對面的人敬酒,這叫p2p。
你向對面的人敬酒,他回敬你,你又再敬他……,這叫tcp。
你向一桌人挨個敬酒,這叫令牌環。
你說只要是兄弟就幹了這杯,這叫廣播。
有乙個人過來向這桌敬酒,你說不行你先過了我這關,這叫防火牆。
你的小弟們過來敬你酒,這叫一對多。
你是boss,所有人過來敬你酒,這叫伺服器。
酒是一樣的,可是喝酒的人是不同的。
你越喝臉越紅,這叫頻繁分配釋放資源。
你越喝臉越白,這叫資源不釋放。
你已經醉了,卻說我還能喝,叫做資源額度不足。
你明明能喝,卻說我已經醉了,叫做資源保留。
喝酒喝到最後的結果都一樣
你突然跑向廁所,這叫捕獲異常。
你在廁所吐了,反而覺得狀態不錯,這叫清空記憶體。
你在臺面上吐了,覺得很慚愧,這叫程式異常。
你在boss面前吐了,覺得很害怕,這叫系統崩潰。
你吐到了boss身上,只能索性暈倒了,這叫硬體休克。
鍊錶的插入筆記
鍊錶的新增 include includetypedef struct nodenode node createlist p next null return head void outlist node head 新增函式 void insert node head,int key,int d i...
C語言學習筆記 鍊錶(三)鍊錶的插入
從指定節點後方插入新節點 假設我們已有五個節點,我們要把乙個新節點new插入到3後邊。需要三個步驟 找到 3 這個節點。把新節點指向3這個節點的下乙個節點 3 next new next 把3指向新節點。3 next new 定義結構體 struct test 輸出鍊錶資料 void printli...
鍊錶的刪除和插入
struct student del struct student head,long num p1 head while num p1 num p1 num null if num p1 num else p2 next p1 next printf delete ld n num n n 1 e...