You are on page 1of 3

public class ListNode {

int item;
ListNode next;
ListNode prev;

public ListNode(int item) {


this.item = item;
this.next = null;
this.prev = null;
}

public ListNode(int item, ListNode next) {


this.item = item;
this.next = next;
this.prev = null;
}

public ListNode(int item, ListNode next, ListNode prev) {


this.item = item;
this.next = next;
this.prev = prev;
}

public void printNodeList() {

ListNode tempNode = this;

do {

System.out.print(tempNode.item+" ");

tempNode = tempNode.next;

}while(tempNode!=null);

System.out.println("");
}

public String getListNodeString() {

String text = null;

ListNode tempNode = this;

do {

if(text == null){
text = Integer.toString(tempNode.item);
}
else {
text = text +","+tempNode.item;
}

tempNode = tempNode.next;

}while(tempNode!=null);
return text;
}

public void insertAfter(int item) {


ListNode newNode = new ListNode(item);

if(this.next!=null) {
this.next.prev = newNode;
}

newNode.next = this.next;
this.next = newNode;

newNode.prev = this;

public void insertBefore(int item){


ListNode newNode = new ListNode(item);

newNode.prev = this.prev;

if(this.prev!=null) {
this.prev.next = newNode;
}

newNode.next = this;
this.prev = newNode;
}

public void deleteAfter() {

ListNode deleteNode = this.next;

if(deleteNode != null) {
this.next = deleteNode.next;

if(deleteNode.next != null) {
deleteNode.next.prev = this;
deleteNode.next = null;
deleteNode.prev = null;
}

}
}

public void deleteBefore() {


ListNode deleteNode = this.prev;

if(deleteNode!=null) {
deleteNode.next = null;
this.prev = deleteNode.prev;
}

if(deleteNode.prev != null) {
deleteNode.prev.next = this;
deleteNode.prev = null;
}
}

public ListNode getNode(int index){


if(index == 0) {
return this;
}
else if(index<0 || this.next == null) {
return null;
}
else {
return this.next.getNode(index-1);
}
}

You might also like