這篇文章主要為大家展示了“java基于雙向環(huán)形鏈表解決丟手帕問題的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“java基于雙向環(huán)形鏈表解決丟手帕問題的示例分析”這篇文章吧。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊、虛擬主機(jī)、營銷軟件、網(wǎng)站建設(shè)、古塔網(wǎng)站維護(hù)、網(wǎng)站推廣。
具體如下:
問題:設(shè)編號為1、2……n的幾個(gè)小孩圍坐一圈,約定編號為k(1= 我們現(xiàn)在用一個(gè)雙向環(huán)形鏈表來解這一問題。先來看看下面這幅圖: 圓圈代表一個(gè)結(jié)點(diǎn),紅色的指針指向下一個(gè)元素,紫色的指針指向上一個(gè)元素。first指針指向第一個(gè)元素,表明第一個(gè)元素的位置,cursor是游標(biāo)指針,它的作用重大。那么這個(gè)環(huán)形的鏈表就可以模擬小孩排成的圓圈,下面是具體的代碼: 這個(gè)代碼的基本框架是根據(jù)韓順平的視頻的。不過他用的是一個(gè)單向的鏈表,上面的代碼注釋的部分是用來找cursor所指向的元素的上一個(gè)元素的,是將整個(gè)鏈表轉(zhuǎn)了一圈來實(shí)現(xiàn)的。這里我改成了雙向鏈表,直接用一個(gè) 運(yùn)行結(jié)果: 以上是“java基于雙向環(huán)形鏈表解決丟手帕問題的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!public class Test {
public static void main(String[] args){
CycleLink cl=new CycleLink(5); //構(gòu)造環(huán)形鏈表
System.out.println("創(chuàng)新互聯(lián)測試結(jié)果:");
cl.print();
cl.setK(2); //設(shè)置從第幾個(gè)小孩開始數(shù)數(shù)
cl.setM(3); //設(shè)置數(shù)幾下
cl.play(); //開始游戲
}
}
class Child{
int no;
Child nextChild;
Child previousChild;
public Child(int no){
this.no=no;
}
}
class CycleLink{
Child first;
Child cursor;
int length;
//從第幾個(gè)小孩開始數(shù)
private int k=1;
//數(shù)幾下
private int m=1;
//構(gòu)造函數(shù)
public CycleLink(int len){
this.length=len;
for(int i=1;i<=length;i++){
Child ch=new Child(i);
if(i==1){
first=ch;
cursor=ch;
}else if(i
cursor.previousChild
就可以了。
網(wǎng)頁標(biāo)題:java基于雙向環(huán)形鏈表解決丟手帕問題的示例分析
瀏覽地址:http://weahome.cn/article/joodih.html