24 Kasım 2019 Pazar

LinkedList Insert / Insert Given Position / Print List


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