雙向循環鏈表
Java 實現雙向循環鏈表
public class DoubleLoopNode {
/**
* 前一個節點
*/
DoubleLoopNode pre = this;
/**
* 後一個節點
*/
DoubleLoopNode next = this;
/**
* 數據
*/
int data;
/**
* 構造方法
*
* @param data
*/
public DoubleLoopNode(int data) {
this.data = data;
}
/**
* 插入一個節點
*
* @param node
*/
public void insert(DoubleLoopNode node) {
// 記錄下一個節點
DoubleLoopNode nextNode = this.next;
// 插入節點
this.next = node;
node.pre = this;
// 連接下一個節點
nextNode.pre = node;
node.next = nextNode;
}
/**
* 刪除下一個節點
*/
public void removeNode() {
// 記錄下下個節點
DoubleLoopNode nextNode = this.next.next;
// 刪除下一個節點
this.next = nextNode;
nextNode.pre = this;
}
public int getData() {
return this.data;
}
}