Open Source Your Knowledge, Become a Contributor
Technology knowledge has to be shared and made accessible for free. Join the movement.
Overview
We discussed how to implement the Linked List in here. In this tutorial, we’re going to implement insertion a Node at given position.
Insert a Node at Nth Position
Steps
- If Head is null and position is not 0. Then exit it.
- If Head is null and position is 0. Then insert new Node to the Head and exit it.
- If Head is not null and position is 0. Then the Head reference set to the new Node. Finally, new Node set to the Head and exit it.
- If not, iterate until finding the Nth position or end.
public void insertNth(int data, int position) {
//create new node.
Node node = new Node();
node.data = data;
node.nextNode = null;
if (this.head == null) {
//if head is null and position is zero then exit.
if (position != 0) {
return;
} else { //node set to the head.
this.head = node;
}
}
if (head != null && position == 0) {
node.nextNode = this.head;
this.head = node;
return;
}
Node current = this.head;
Node previous = null;
int i = 0;
while (i < position) {
previous = current;
current = current.nextNode;
if (current == null) {
break;
}
i++;
}
node.nextNode = current;
previous.nextNode = node;
}
Complete Example
1
2
3
4
5
6
7
8
9
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
class Node {
int data;
Node nextNode;
}
class LinkedList {
private Node head;
// {
public void insertNth(int data, int position) {
//create new node.
Node node = new Node();
node.data = data;
node.nextNode = null;
if (this.head == null) {
//if head is null and position is zero then exit.
if (position != 0) {
return;
} else { //node set to the head.
this.head = node;
}
}
if (head != null && position == 0) {
node.nextNode = this.head;
Enter to Rename, Shift+Enter to Preview
Original post can find it here
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content