|
Bubble sort is one of the simplest sorting algorithms . This algorithm has a quadratic order of growth and is therefore suitable for sorting small lists only . The algorithm works by repeatedly scanning through list , comparing adjacent elements , and swapping them if they are in the wrong order . The Algorithm gets its name from the way smaller elements "bubble" to top of the list after being swapped with greater elements . In this Tutorial I will be Discussing about the program for Bubble sort in C and C++ .
The above bubble sort code works perfectly with Linux G++ and Windows 32 and 64 bit compilers .
Download the Bubble sort code from here .
After compilation of bubble sort code the Output appears as shown below .
C++ Program for Bubble sort :
/* File name : bubble.cpp Code Written by : Lalith Date : 21/08/2013 */ #include<iostream> using namespace std; class bubble { public : //Array of integers to hold values int arr[20]; //Number of elements in array int n; //Function to accept array elements void read() { while(1) { cout<<"\nEnter the number of elements in the array:"; cin>>n; if(n<=20) break; else cout<<"\n Array can have maximum 20 elements \n"; } //display the header cout<<"\n"; cout<<"----------------------\n"; cout<<"Enter array elements \n"; cout<<"----------------------\n"; //Get array elements for( int i=0; i<n ;i++ ) { cout<<"<"<<i+1<<"> "; cin>>arr[i]; } } //Bubble sort function void bubblesort() { for( int i=1;i<n ;i++ )//for n-1 passes { //In pass i,compare the first n-i elements //with their next elements for( int j=0; j<n-1; j++) { if(arr[j] > arr[j+1]) { int temp; temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } } void display() { cout<<endl; cout<<"----------------------\n"; cout<<"Sorted array elements \n"; cout<<"----------------------\n"; for( int j=0; j<n; j++) cout<<arr[j]<<endl; } }; int main() { //Instantiate an instance of class bubble list; // Function call to accept array elements list.read(); // Function call to sort array list.bubblesort(); //Function call to display the sorted array list.display(); return 0; }
The above bubble sort code works perfectly with Linux G++ and Windows 32 and 64 bit compilers .
Download the Bubble sort code from here .
After compilation of bubble sort code the Output appears as shown below .
In the inner loop( j loop) no.of comparisons can be decreased as the outer loop variable i increases
ReplyDelete