鍊錶 單鏈表翻轉

2021-06-28 18:31:58 字數 676 閱讀 6898

看到好多部落格裡面寫鍊錶翻轉時候就是**要麼一樣,要麼沒有注釋。咱最近閒人一枚,準備好好寫寫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個整數順序建立乙個單鏈表,將該單鏈表拆分成兩個子鍊錶,第乙個子鍊錶存放了所有的偶數,第二個子鍊錶存放了所有的奇數。兩個子煉表中資料的相...