目錄
一、單鏈表反轉演算法介紹
二、單鏈表反轉**實現
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...