java 양단 체인 테이블 구현

1828 단어 java 구현
PS: 양단 체인 테이블(마지막 노드에 대한 인용을 가지고 있으며 테이블 끝 조작과 헤더 조작의 등효를 허용하는 기능)
public class DoubleLinkedList {

	// 

        static class Node {

		public Object data;

		public Node next;



		public Node(Object dd) {

			data = dd;

		}



		@Override

		public String toString() {

			return String.valueOf(data);

		}

	}



	public Node head;// 

	public Node tail;// 



	public DoubleLinkedList() {

		head = null;

		tail = null;

	}



	public boolean isEmpty() {

		return (head == null);

	}



	//  

	public void insertFirst(double dd) {

		Node newLink = new Node(dd);

		if (isEmpty()) {//  

			tail = newLink;

		}

		newLink.next = head;

		head = newLink;

	}



	//  

	public void insertLast(double dd) {

		Node newLink = new Node(dd);

		if (isEmpty()) {

			head = newLink;

		} else {

			tail.next = newLink;

		}

		tail = newLink;

	}



	//  

	public void deleteFirst() {

		head = head.next;

		if (head.next == null) {

			tail = null;

		}

	}



	public void displayList() {

		System.out.print("List (first--->last)");

		Node current = head;

		while (current != null) {

			System.out.print(current.data + " ");

			current = current.next;

		}

		System.out.println();

	}



	public static void main(String[] args) {

		DoubleLinkedList linkedList = new DoubleLinkedList();

		for (int i = 0; i <= 30; i += 5) {

			//  

			linkedList.insertFirst(i);

		}

		System.out.println(" ");

		linkedList.displayList();

		//  

		linkedList.deleteFirst();

		linkedList.displayList();

		linkedList = new DoubleLinkedList();

		for (int i = 0; i <= 30; i += 5) {

			//  

			linkedList.insertLast(i);

		}

		System.out.println(" ");

		linkedList.displayList();

		linkedList.deleteFirst();

		linkedList.displayList();

	}

}    


좋은 웹페이지 즐겨찾기