泛型單鏈錶環的操作

2021-08-20 10:09:50 字數 1393 閱讀 8942

package genericlinklist;

/* * 泛型單鏈錶環的操作

* */

class testlink1

public entry(t val)

} private entryhead;

//將來指向頭結點處 標誌

public testlink1()

//頭插法

public void inserthead(t val)

//尾插法

public void inserttail(t val)

cur.next = entry;

} //得到長度 儲存資料節點的個數

public int getlength()

return len;

} //建立乙個帶環的鍊錶

public void createloop()

cur.next = head.next.next;

}//判斷單鏈表是否有環

public boolean isloop()

}return false;

}//判斷環的入口點

public t getentryloop()

while(fast != null && fast.next != null)

} slow = head;//這個引用回到起點

while(fast != slow)

return slow.data;

}//第一次相遇和第二次相遇之間的路程為環的長度

public int getlooplength()

entryfast = head;

entryslow = head;

while(fast != null && fast.next != null)

if(flag = true)

if(slow == fast && flag == true)

} return len;

}public void show()

} public void show2(entryentry)

} public entrygethead()

}public class genericlinklist3

k1.show();//9 8 7 6 5 4 3 2 1 0

k1.createloop();

if(k1.isloop()) else

int num = k1.getentryloop();

system.out.println(num);

system.out.println("len:"+k1.getlooplength());

}}

用泛型實現單鏈表

節點 public class entry public t getvalue public void setvalue t value public entry getnext public void setnext entry next 頭節點 public class headentry ex...

用java實現泛型程式設計的單鏈表

以下程式實現了單鏈表的基本操作 初始化 頭插 尾插 列印 刪除 單鏈表的節點結構設計 class slinked public t getdata public void setdata t data public slinkedgetnext public void setnext slinked...

單鏈表中的環

問題一 鍊錶中是否存環?問題二 鍊錶中環的入口結點是哪個?問題三 鍊錶中環的結點數目 環的長度 是多少?解答思路 問題一 如果有兩個頭結點指標,乙個走的快,乙個走的慢,那麼若干步以後,快的指標總會超過慢的指標一圈。問題二 假設問題一中兩個不同步速遍歷的指標為p和q,其中p的步速為2,q的步速為1,假...