-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDoublyLinkedList.java
More file actions
94 lines (81 loc) · 2.24 KB
/
DoublyLinkedList.java
File metadata and controls
94 lines (81 loc) · 2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
/* package codechef; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
class DoublyLinkedList<Integer>
{
public static class Node<Integer>
{
private Integer element;
private Node<Integer> prev;
private Node<Integer> next;
public Node<Integer>(Integer e,Node<Integer> p,Node<Integer> n){
element = e;
prev = p;
next = e;
}
public Integer getElement(){
return element;
}
public Node<Integer> getPrevious(){
return prev;
}
public getNext(){
return next;
}
public setPrev(Node<Integer> p){
prev = p;
}
public setNext(Node<Integer> n){
next = n;
}
}
private Node<Integer> header ;
private Node<Integer> trailer;
private Integer size =0;
publc DoublyLinkedList(){
header = new Node<Integer>(0,null,null);
trailer = new Node<Integer>(0,null,null);
header.setNext(trailer);
}
public int size(){
return size;
}
public int isEmpty(){
return size==0;
}
public Integer getFirst(){
if(isEmpty()== true)
return -99999;
return header.getNext().getElement();
}
public Integer getLast(){
if(isEmpty()== true)
return -99999;
return trailer.getPrev().getElement();
}
public void addBetween(Integer ele,Node<Integer> previous,Node<Integer> next){
Node<Integer> newele = new Node<Integer>(ele,previous,next);
previous.setNext(newele);
next.setPrev(newele);
size++;
}
private void remove(Node<Integer> node)
{
Node<Integer> previous = node.getPrev();
Node<Integer> next = node.getNext();
size--;
previous.setNext(next);
next.setPrev(previous);
return node.getElement();
}
public void addFirst(Integer ele){
addBetween(ele,header,header.getNext());
}
public void addLast(Integer ele){
addBetween(ele,trailer,trailer.getPrev());
}
public static void main (String[] args) throws java.lang.Exception
{
}
}