Bubble sort on linked list in java

Java program for Bubble sort in linked list. Here more solutions.
// Java program for
// Bubble Sort For Linked List
class Node
{
int data;
Node next;
public Node(int data)
{
this.data = data;
this.next = null;
}
}
public class LinkedList
{
public Node head;
// Class constructors
LinkedList()
{
this.head = null;
}
// Add node at the beginning of linked list
public void insert(int value)
{
// Create a new node
Node node = new Node(value);
// Add node at front
node.next = this.head;
// Make new head
this.head = node;
}
// Display all elements
public void display()
{
if (this.head != null)
{
Node temp = this.head;
while (temp != null)
{
// Display node value
System.out.print(" " + temp.data);
// Visit to next node
temp = temp.next;
}
}
else
{
System.out.println("Empty Linked list");
}
}
// Perform bubble sort in single linked list
public void bubbleSort()
{
if (head != null)
{
Node current = null;
boolean status = false;
do {
// Start with first node
current = this.head;
// Reset working status
status = false;
while (current != null && current.next != null)
{
if (current.data > current.next.data)
{
// Swap node values
current.data = current.data + current.next.data;
current.next.data = current.data - current.next.data;
current.data = current.data - current.next.data;
// When node value change
status = true;
}
// Visit to next node
current = current.next;
}
} while (status);
}
else
{
System.out.println("Empty Linked list");
}
}
public static void main(String[] args)
{
LinkedList task = new LinkedList();
// Insert element of linked list
task.insert(15);
task.insert(5);
task.insert(42);
task.insert(9);
task.insert(50);
task.insert(7);
System.out.print(" Before sort : ");
// Display all node
task.display();
task.bubbleSort();
System.out.print("\n After sort : ");
task.display();
}
}
Output
Before sort : 7 50 9 42 5 15
After sort : 5 7 9 15 42 50
Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.
New Comment