Linklist Representation |
Node.java
public class Node {
int data;
Node next;
Node(int data, Node next){
this.data = data;
this.next = next;
}
}
LinkList.java
public class LinkList {
Node head;
public void insert(int data) {
Node node = new Node(data, null);
if(head == null) {
head = node;
} else {
Node currentNode = head;
while(currentNode.next != null) {
currentNode = currentNode.next;
}
currentNode.next = node;
}
}
public void inserAtStart(int data) {
Node node = new Node(data, null);
node.next = head;
head = node;
}
public void insertAt(int index, int data) {
Node node = new Node(data, null);
// if index is 0 or head is null then insert at start
if(index == 0 || head == null) {
inserAtStart(data);
} else {
int pos = 1;
Node prevNode = head;
//find the previous node for current node
//and if the input index is greater than the current length of linklist
//then break the while loop and insert at last
while(pos != index && prevNode.next != null) {
prevNode = prevNode.next;
pos++;
}
Node nextNode = prevNode.next;
prevNode.next = node;
node.next = nextNode;
}
}
public void deleteAt(int index) {
Node currentNode = head;
int deletedData;
if(index == 0) {
deletedData = head.data;
head = head.next;
} else {
int pos = 0;
while(pos != index - 1) {
currentNode = currentNode.next;
pos++;
}
deletedData = currentNode.next.data;
currentNode.next = currentNode.next.next;
}
System.out.println("Node with data "+ deletedData+ " deleted.\n");
}
public void show() {
Node currentNode = head;
while(currentNode != null) {
System.out.print(currentNode.data+ " ");
currentNode = currentNode.next;
}
}
}
Runner.java
public class Runner {
public static void main(String a[]) {
LinkList list = new LinkList();
list.insert(1);
list.insert(5);
list.insert(4);
list.insert(2);
list.insert(7);
list.inserAtStart(15);
list.insertAt(3, 22);
list.deleteAt(1);
list.deleteAt(5);
list.show();
}
}
//OUTPUT:
//Node with data 1 deleted.
//Node with data 7 deleted.
//15 5 22 4 2
It’s easy for anyone to deploy and manage your Inetsoft solution at scale, regardless of your technical skill level and experience.
ReplyDelete