public class AddPositiontoNode {
Node head;
static class Node {
Node next;
int data;
Node(int d) {
this.data = d;
}
}
public static AddPositiontoNode insertNode(AddPositiontoNode list, int d) {
Node newNode = new Node(d);
newNode.next = null;
if (list.head == null) {
list.head = newNode;
} else {
Node currNode = list.head;
while (currNode.next != null) {
currNode = currNode.next;
}
if (currNode.next == null) {
currNode.next = newNode;
}
}
return list;
}
public static AddPositiontoNode insertGivenPosition(AddPositiontoNode node, int position, int data) {
Node newNode = new Node(data);
int index = 1;
Node currNode = node.head;
if (position == 1) {
newNode.next = node.head.next;
node.head = newNode;
} else {
while (index + 1 != position) {
index++;
currNode = currNode.next;
}
if (index + 1 == position) {
newNode.next = currNode.next;
currNode.next = newNode;
} else {
newNode.next = currNode.next;
currNode.next = newNode;
}
}
return node;
}
public static void printList(Node head) {
Node currNode = head;
while (currNode != null) {
System.out.println(currNode.data);
currNode = currNode.next;
}
}
public static void main(String[] args) {
AddPositiontoNode node = new AddPositiontoNode();
node = insertNode(node, 1);
node = insertNode(node, 2);
node = insertNode(node, 4);
node = insertNode(node, 5);
printList(node.head);
System.out.println("---------------------");
node = insertGivenPosition(node, 3, 3);
printList(node.head);
}
}
Output :1
2
4
5
---------------------
1
2
3
4
5
Hiç yorum yok:
Yorum Gönder