Doubly Linked Lists 이중 연결 리스트
단일 연결리스트의 단점 : tail 포인터가 있더라도 removeLast를 하기위한 시간 복잡도가 O(n)이다 -> 무조건 첫 번째 요소부터 세야한다
연결리스트 : next, data 값을 갖고있다
이중 연결리스트 : next, previous, data의 값을 가지고 있다
모든 노드에 previous와 next가 있다
tail 값 반환
E tmp = tail.data;
tail.previous.next = null;
tail = tail.previous;
return tail;
이중 연결 리스트의 단점은 previous 포인터가 추가되기 때문에 노드를 추가하는 과정이 더 복잡해진다