ulvis.paste.net

Paste Search Dynamic
Recent pastes
The middle element is
  1. // Java program to find middle node of a linked list
  2. import java.util.*;
  3. import java.lang.*;
  4. import java.io.*;
  5. {
  6.     public static void main(string [] args)
  7.         {
  8.                 linkedlist llist = new linkedlist();
  9.                 Scanner sc = new Scanner(system.in);
  10.             int n = sc.nextInt();
  11.                 for (int i=n ; i>0; --i)
  12.                 {
  13.                         llist.push(i);
  14.                         llist.printList();
  15.                         llist.printMiddle();
  16.                 }
  17.         }
  18.  
  19.         Node head; // head of linked list
  20.  
  21.         //Linked list node
  22.         class Node
  23.         {
  24.                 int data;
  25.                 Node next;
  26.                 Node(int d)
  27.                 {
  28.                         data = d;
  29.                         next = null;
  30.                 }
  31.         }
  32.  
  33.         // Function to print middle element of linked list
  34.         void printMiddle()
  35.         {
  36.                 Node slow_ptr = head;
  37.                 Node fast_ptr = head;
  38.                 if (head != null)
  39.                 {
  40.                         while (fast_ptr != null && fast_ptr.next != null)
  41.                         {
  42.                                 fast_ptr = fast_ptr.next.next;
  43.                                 slow_ptr = slow_ptr.next;
  44.                         }
  45.                         system.out.println("The middle element is " + slow_ptr.data + " \n");
  46.                 }
  47.         }
  48.  
  49.         // Function to insert a new Node at front of the list.
  50.         public void push(int new_data)
  51.         {
  52.                 Node new_node = new Node(new_data);
  53.         new_node.next = head;
  54.         head = new_node;
  55.         }
  56.  
  57.         // Function to print contents of linked list starting from the given node
  58.         public void printList()
  59.         {
  60.                 Node tnode = head;
  61.                 while (tnode != null)
  62.                 {
  63.                         system.out.print(tnode.data+"->");
  64.                         tnode = tnode.next;
  65.                 }
  66.                 system.out.println("NULL");
  67.         }
  68. }
Parsed in 0.027 seconds