/**
* @Description 實現一個簡單的雙向循環列表 在改列表中,每個node都會記錄前一個元素和後一個元素的地址
* @auther Eleven
* @create 2020-04-03 23:08
**/
public class DoubleLoopNode {
//記錄前一個元素
DoubleLoopNode pre;
//記錄下一個元素
DoubleLoopNode next;
//數據
int data;
public DoubleLoopNode(int data) {
this.data = data;
}
//往鏈表中加入一個node
public void after(DoubleLoopNode doubleLoopNode){
//首先獲取當前node的下一個元素的地址
DoubleLoopNode next = this.next;
//設置下一個node的前一個地址爲新增的元素
next.pre = doubleLoopNode;
//設置新增元素的下一個元素爲上面的next
doubleLoopNode.next = next;
//設置當前元素的下一個元素爲新增的元素
this.next = doubleLoopNode;
//設置新增元素的上一個元素爲當前元素
doubleLoopNode.pre=this;
}
//獲取下一個元素
public DoubleLoopNode next(){
return this.next;
}
//獲取元素中的數據
public int getData(){
return this.data;
}
//獲取上一個元素
public DoubleLoopNode pre(){
return this.pre;
}
}
簡單的雙向循環列表
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.