-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLinklist.java
128 lines (111 loc) · 2.89 KB
/
Linklist.java
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
import javax.swing.plaf.synth.SynthStyle;
class Linklist {
Node head;
Node tail;
int size = 0;
class Node {
int data;
Node next;
Node(int x) {
data = x;
next = null;
}
}
public void insertNode(int x) {
Node n = new Node(x);
head = n;
tail = n;
size++;
}
public void insertFirst(int x) {
Node n = new Node(x);
if (head == null) {
insertNode(x);
} else {
n.next = head;
head = n;
size++;
}
}
public void insertEnd(int x) {
Node n = new Node(x);
if (head == null) {
insertNode(x);
} else {
tail.next = n;
tail = n;
size++;
}
}
public int getData(int x) throws Exception {
return getNode(x).data;
}
public Node getNode(int x) throws Exception {
if (size <= x || size < 0) {
throw new Exception("Pagal Linklist Khaali hai.");
} else {
Node temp = head;
for (int i = 0; i < x; i++) {
temp = temp.next;
}
return temp;
}
// return n;
}
public void insertAtIndex(int x, int index) throws Exception {
Node n = new Node(x);
if (head == null) {
insertNode(x);
}
if (index == size) {
insertEnd(x);
} else {
Node value = getNode(index - 1);
n.next = value.next;
value.next = n;
size++;
}
}
public void display() throws Exception {
if(head ==null){
System.out.print("Linklist is Empty.");
}
System.out.print("Head -> ");
Node temp = head;
for (; temp != null;) {
System.out.print(temp.data + " -> ");
temp = temp.next;
}
System.out.print("Tail ");
System.out.println();
}
public void deleteFirst() {
Node temp = head;
head = head.next;
temp.next = null;
size--;
}
public void deleteLast() throws Exception {
Node n = getNode(size - 2);
n.next = null;
tail.next = n;
size--;
}
public void deleteIndex(int x) throws Exception {
Node n = getNode(x - 1);
Node temp = n.next;
n.next = temp.next;
temp.next = null;
}
public static void main(String[] args) throws Exception {
Linklist list = new Linklist();
list.insertFirst(5);
list.insertEnd(9);
list.insertAtIndex(10, 2);
list.insertAtIndex(16, 2);
list.display();
// list=insert
// Node li=new Node();
// li.insertNode(5);
}
}