看到好多部落格裡面寫鍊錶翻轉時候就是**要麼一樣,要麼沒有注釋。咱最近閒人一枚,準備好好寫寫code給大家分享一下自己的思想....
使用前插法;
1->2->3->4->null;
我把1標記為prev,把2標記temp,把3標記next『
使得最後順序輸出:4->3->2->1->null;
定義linklist型別的prev ,temp,next。
有: next-=temp->next;
temp->next=prev;
prev=temp;
temp=next;
考慮關鍵點:當該鍊錶為空表或者是只有乙個節點//
code:
linklist reverse(linklist link)
if(list==null||list->next==null)
return list;
linklist prev,temp,next;
prev=list; temp=list->next;prev->next=null;
while(temp!=null)
next-=temp->next;
temp->next=prev;
prev=temp;
temp=next;
} return prev;
鍊錶 單鏈表 一
一.帶頭節點的單鏈表與不帶頭節點的單鏈表的比較 下面以插入演算法為例 1.帶頭節點 templatevoid linklist insert int i,t x if p null throw 位置非法 else 2.不帶頭節點templatevoid linklist insert int i,t...
鍊錶 單鏈表的建立
建立乙個節點 struct student 注意 當有新的節點要新增到鍊錶中時,原來最後乙個節點的指標將儲存新新增的節點位址,而新的節點的指標將指向空 null 當新增完成後,新節點將成為鍊錶的最後乙個節點。實際上是尾插法建立鍊錶 例 動態建立乙個鍊錶 步驟分析 1 初始化乙個頭節點,即定義乙個頭指...
鍊錶 單鏈表的拆分
資料結構實驗之鍊表五 單鏈表的拆分 time limit 1000 ms memory limit 65536 kib problem description 輸入n個整數順序建立乙個單鏈表,將該單鏈表拆分成兩個子鍊錶,第乙個子鍊錶存放了所有的偶數,第二個子鍊錶存放了所有的奇數。兩個子煉表中資料的相...