public class DoublyLinkedNode {
private char data;
private DoublyLinkedNode prior;
private DoublyLinkedNode next;
public DoublyLinkedNode() {
}
public DoublyLinkedNode(char data, DoublyLinkedNode prior, DoublyLinkedNode next) {
this.data = data;
this.prior = prior;
this.next = next;
}
}
/**
* 线性表的链式存储结构-双向循环链表
*/
public class DoublyCircularLinkedList implements LinearLinkedList {
private DoublyLinkedNode head;
public DoublyCircularLinkedList() {
head = new DoublyLinkedNode();
head.setPrior(head);
head.setNext(head);
}
/**
* 尾插法建表
*
* @param data
*/
@Override
public void createListTail(char data) {
DoublyLinkedNode temp = new DoublyLinkedNode(data, head.getPrior(), head);
head.getPrior().setNext(temp);
head.setPrior(temp);
}
}