鹹魚學資料結構和演算法 單鏈表反轉

2021-10-16 15:44:55 字數 1003 閱讀 8264

目錄

一、單鏈表反轉演算法介紹

二、單鏈表反轉**實現

1.

先定義乙個節點

reversehead = new heronode();

2. 從頭到尾遍歷原來的鍊錶,每遍歷乙個節點,就將其取出,並放在新的鍊錶

reversehead

的最前端.

3. 原來的鍊錶的

head.next = reversehead.next

public class singlelinkedlist

//定義乙個輔助的指標(變數),幫助我們遍歷原來的鍊錶

noderenode = new node();

nodecur = head.getnext();

nodenext=null; //指向當前節點[cur]的下乙個節點

//遍歷原來的鍊錶,每遍歷乙個節點,就將其取出,並放在新的鍊錶reversehead 的最前端

//動腦筋

//本質是插入結點

while(cur != null)

return renode;

}public nodegethead()

public void sethead(nodehead)

}class node

public node(int nums, t com)

public int getnums()

public void setnums(int nums)

public t getcom()

public void setcom(t com)

public nodegetnext()

public void setnext(nodenext)

@override

public string tostring()

}

資料結構 單鏈表反轉

鍊錶反轉一般有兩種解法 遞迴和迭代。首先給出鍊錶的定義 typedef struct taglnode linklist 假設鍊錶為head 1 2 3 4 5 null。linklist reverse linklist head 一開始我的想法是,先遞迴到最後一層,也就是reverse 5 這層...

鹹魚學資料結構和演算法 約瑟夫問題

目錄 一 約瑟夫問題介紹 二 約瑟夫問題演算法介紹 三 約瑟夫問題 實現 設編號為1,2,n的 n個人圍坐一圈,約定編號為k 1 k n 的人從 1開始報數,數到 m 的那個人出列,它的下一位又從 1開始報數,數到 m的那個人又出列,依次類推,直到所有人出列為止,由此產生乙個出隊編號的序列 1.首先...

資料結構之單鏈表反轉

單鏈表反轉的非遞迴方法 首先是結點的定義 public class node 使用非遞迴方法反轉單鏈表,需要設定兩個node型別的物件pre和nex,pre用來記錄head的前乙個結點,nex用來記錄head的後乙個結點,然後講head結點後移。public node reversecur node...