Skip to main content

Delete node at a given position in Linked List

Delete node at a given position in Linked List



//delete node by position in linked list
 public Node deleteKeyAtPosition(Node head,int position)
 {
  
  Node temp=head;
  Node prevtemp=temp;
  int c=1;
  //if position is head
  if(position==1)
  {
   head=head.next;
   return head;
  }
  //position +1 because we have to go till that point
  while(c!=position+1)
  {
   if(c==position && position!=1)
   {
    prevtemp.next=temp.next;
    temp.next=null;
    temp=prevtemp;
   }
   prevtemp=temp;
   temp=temp.next;
   c++;
  }
  return head; 
 }

Comments

.

Popular posts from this blog

Deleting a Node by passing data in LInkedList

Deleting a Node by passing data in LInkedList:- The node can be deleted by passing the data value in a function.Here we have three pointers one to traverse the list other to point current node and third one to point previous of current node. //deleting a given key public Node deleteKeyNode ( Node head , int key ) { //traverse pointer Node temp = head ; //previous pointer Node prevtemp = temp ; while ( temp != null ) { //when key is at head position if ( key == head . data ) { head = head . next ; System . out . println ( "head is deleted" ); return head ; } //when key is at any position other than head if ( temp . data == key ) { prevtemp . next = temp . next ; temp . next = null ; temp = prevtemp ; } prevtemp = temp ; temp = temp . next ; } return head ; }

Adding Node at the End of Linked List

Adding Node at the End of Linked List:- The method takes two parameter one a head node of a linked list and other data too insert. public void addNodeEnd ( Node head , int data ) { if ( head == null ) { System . out . println ( "list is empty" ); return ; } Node node = new Node ( data ); Node temp = head ; while ( temp . next != null ) { temp = temp . next ; } temp . next = node ; } To Know the basic structure of the linked list click here