單鏈表倒轉

2021-10-01 10:34:53 字數 798 閱讀 7688

1.實現單鏈表的逆轉函式,輸入乙個鍊錶,反轉鍊錶後,返回翻轉之後的鍊錶。

思路:

設定三個鍊錶(實際是兩個)hou指向前乙個節點、phead指向中間節點、pre指向後乙個節點,如下圖。hou是前乙個節點為空,phead是傳入的節點,pre是後乙個節點。

因為單鏈表,需要換方向,那麼這三個臨時指標分別**乙個節點的上乙個節點(hou),當前節點(phead)和下乙個節點(pre)。開始迴圈:

phead 指向當前節點,pre指向下乙個節點。phead = pre,pre = pre->next;

2.phead->next = hou,hou = phead;如何進入(1)

3.知道pre = null,返回phead即可。

listnode* reverselist(listnode* phead) 

return pre;

}

單鏈表(合併單鏈表)

單鏈表遍歷 單鏈表遍歷是從單鏈表頭指標head開始訪問,沿著next指標所指示的方向依次訪問每乙個結點,且每個結點只能訪問依次,直到最後乙個結點為止。遍歷時注意,不要改變head指標的指向。因此一般設定另外的乙個指標變數如p,p從head開始依次訪問乙個結點,直到鍊錶結束,此時p null,完成依次...

單鏈表之排序單鏈表

package list public class sortedsinglylist extends singlylist 將values陣列中的所有物件按值大小插入 public sortedsinglylist t values 過載深拷貝,由單鏈表構建排序單鏈表 public sortedsi...

單鏈表 雙鏈表

實現乙個單鏈表,鍊錶初始為空,支援三種操作 1 向煉表頭插入乙個數 2 刪除第k個插入的數後面的數 3 在第k個插入的數後插入乙個數 現在要對該鍊錶進行m次操作,進行完所有操作後,從頭到尾輸出整個鍊錶。注意 題目中第k個插入的數並不是指當前鍊錶的第k個數。例如操作過程中一共插入了n個數,則按照插入的...