Reorder List Java
- Get link
- X
- Other Apps
PROGRAM TO REARRANGE A GIVEN LINKED LIST IN-PLACE
class MAIN{ static class Node { int data; Node next;}// function for rearranging a linked list// with high and low value.static Node rearrange(Node head){ if (head == null) // Base case. return null; // two pointer variable. Node prev = head, curr = head.next; while (curr != null) { // swap function for swapping data. if (prev.data > curr.data) { int t = prev.data; prev.data = curr.data; curr.data = t; } // swap function for swapping data. if (curr.next != null && curr.next.data > curr.data) { int t = curr.next.data; curr.next.data = curr.data; curr.data = t; } prev = curr.next; if (curr.next == null) break; curr = curr.next.next; } return head;}// function to insert a Node in // the linked list at the beginning.static Node push(Node head, int k){ Node tem = new Node(); tem.data = k; tem.next = head; head = tem; return head;}// function to display Node of linked list.static void display(Node head){ Node curr = head; while (curr != null) { System.out.printf("%d ", curr.data); curr = curr.next; }}// Driver codepublic static void main(String args[]){ Node head = null; // let create a linked list. // 9 . 6 . 8 . 3 . 7 head = push(head, 7); head = push(head, 3); head = push(head, 8); head = push(head, 6); head = push(head, 9); head = rearrange(head); display(head);}}
OUTPUT
6 9 3 8 7
- Get link
- X
- Other Apps
Comments
Post a Comment