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