Skip to main content

Bubble Sort in JAVA

What is bubble sort?

It is a sorting technique that is based on the comparison.Here we compare adjacent element, if the first element is larger than the second we swap each other. We do the same procedure again and again until array do not sort completely.

Example:-
5 1 4 2 8



 5 1 4 2 8 

here pass is nothing but iterating the loops equal to number of elements in the array but if it already sorted before then we can break the loop anddo exist
PASS1
case0 1 //check 0 and first element
 1 5 4 2 8 
case1 2 //check 1 and 2 element
 1 4 5 2 8 
case2 3
 1 4 2 5 8 
case3 4
 1 4 2 5 8 
swap istrue
PASS2 //first pass completed now do second pass
case0 1
 1 4 2 5 8 
case1 2
 1 2 4 5 8 
case2 3
 1 2 4 5 8 
case3 4
 1 2 4 5 8 
swap istrue
PASS3 // third pass

case0 1
 1 2 4 5 8 
case1 2
 1 2 4 5 8 
case2 3
 1 2 4 5 8 
case3 4
 1 2 4 5 8 
swap isfalse

since swap is false we break from the loop and do not go for fourth and fifth pass

Program:-

package sorting;

public class BubbleSort {
 
 //function to print array
 public static void print(int[] arr)
 {
  for(int i=0;i<=arr.length-1;i++)
   System.out.print(" "+arr[i]);
  System.out.println(" ");
 }
 
 //function to swap elements
 public static int[] swap(int[] arr,int i, int j)
 {
  int temp;
  temp=arr[i];
  arr[i]=arr[j];
  arr[j]=temp;
  
  return arr;
 }
 
public static void main(String[] args)
{
 int[] arr={5,1,4,2,8};
 print(arr);
 //declared to check the number of passes
 int pass=1;

 while(pass!=arr.length)
 {
  /*declared to check if there is no swap then we are 
  working on already sorted array and can break the loop */
 boolean swap=false;
 
 System.out.println("PASS"+pass);
 
 for(int i=0;i<arr.length-1;i++)
 { 
   if(arr[i]>arr[i+1])
   {
    arr=swap(arr,i,i+1);
    swap=true;
   }
   
   System.out.println("case"+i+" "+(i+1));
   
   print(arr);
  }


System.out.println("swap is"+swap);
if(swap==false)
{
 break;
}
pass++;
 }

}
 
}

Comments

.

Popular posts from this blog

Driver program to perform operations in graph

Driver program to perform operations in graph:-



package com.problems.graph;publicclassGraphDriver{publicstaticvoidmain(String[] args){ BFSGraph g=new BFSGraph(); g.addVertex('A'); g.addVertex('B'); g.addVertex('C'); g.addVertex('D'); g.addVertex('E'); g.addVertex('F'); g.addVertex('G'); g.addVertex('H'); g.addEdge(0,1); g.addEdge(1,2); g.addEdge(1,7); g.addEdge(2,3); g.addEdge(2,4); g.addEdge(7,4); g.addEdge(4,5); g.addEdge(4,6); g.bfs();}}

WHAT DOES LOAD BALANCER DO BETWEEN CLIENT COMPUTER AND SERVERS?

Whenever we talk about websites we often tend to be restricted to the domain and hosting only. A person who is generally developing websites does only take care of designing the front end and moreover functionality related to back-end. Most of the  people never thought about the servers and load balancer. Even a student in computer science often confused about the true working of traffic management in servers as well as load balancing it to make sure running the website and application without causing any issue to the end users.
So this article is all about how actually the load balancer work in a real time environment. There are three things that need to understand
1.Client 2.Load balancer 3.Server
Server -Servers are computer programs running to serve the requests of other programs, the clients Thus, the server performs some tasks on behalf of clients. It facilitates the clients to share data, information or any hardware and software resources
The client is the end user who is using …