GitHub Viewer
/******************************************************************************
Welcome to GDB Online.
GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP, Ruby, Perl,
C#, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS, JS, SQLite, Prolog.
Code, Compile, Run and Debug online from anywhere in world.
*******************************************************************************/
class LinkedList
{
Node head;
public LinkedList()
{
this.head=null;
}
void insertAtEnd(int data)
{
Node newNode=new Node(data);
if(head==null)
{
head=newNode;
}
else
{
Node current=head;
while(current.next!=null)
{
current=current.next;
}
current.next=newNode;
}
}
void insertAtStart(int data)
{
Node newNode=new Node(data);
if(head==null)
{
head=newNode;
}
else
{
newNode.next=head;
head=newNode;
}
}
void traverse()
{
Node n=head;
while(n!=null)
{
System.out.print(n.data+" -> ");
n=n.next;
}
}
void sortList()
{
int swap=0;
Node n=head;
Node s1=head;
Node s2=head;
while(s1!=null)
{
s2=head;
Node tmp=head;
Node tmp2=null;
while(s2.next!=null)
{
if(s2.data>s2.next.data)
{
swap++;
if(s2==head)
{
head=s2.next;
}
tmp2=s2.next.next;
s2.next.next=s2;
tmp.next=s2.next;
s2.next=tmp2;
}
tmp=s2;
s2=s2.next;
if(s2==null)
{
break;
}
}
s1=s1.next;
}
System.out.println("Swap " + swap);
}
}
class Node
{
int data;
Node next;
public Node(int data)
{
this.data=data;
this.next=null;
}
}
public class Main
{
public static void main(String[] args) {
LinkedList l1=new LinkedList();
l1.insertAtEnd(5);
l1.insertAtEnd(2);
l1.insertAtEnd(3);
l1.insertAtEnd(1);
l1.insertAtEnd(12);
l1.insertAtEnd(-1);
l1.insertAtEnd(14);
l1.insertAtEnd(15);
l1.insertAtEnd(16);
l1.insertAtEnd(-5);
l1.insertAtEnd(6);
l1.insertAtEnd(7);
l1.insertAtEnd(8);
l1.insertAtEnd(9);
l1.insertAtEnd(10);
l1.insertAtEnd(-11);
l1.insertAtEnd(17);
l1.insertAtEnd(-18);
l1.insertAtEnd(0);
l1.insertAtEnd(-222);
l1.traverse();
System.out.println();
l1.sortList();
l1.traverse();
System.out.println();
}
}