Bubble Sort Algorithm in Programming
Among variaous other sorting algorithm, bubble sort algorithm is one
of the popular and frequently used algorithm to sort elements either in
ascending or descending order.
Bubble sort algorithm starts by comparing the first two elements of
an array and swapping if necessary, i.e., if you want to sort the elements of
array in ascending order and if the first element is greater than second then,
you need to swap the elements but, if the first element is smaller than second,
you mustn't swap the element. Then, again second and third elements are
compared and swapped if it is necessary and this process go on until last and
second last element is compared and swapped. This completes the first step of
bubble sort.
If there are n elements to be sorted then, the process
mentioned above should be repeated n-1 times to get required result.
But, for better performance, in second step, last and second last elements are
not compared becuase, the proper element is automatically placed at last after
first step. Similarly, in third step, last and second last and second last and
third last elements are not compared and so on.
A figure is worth a thousand words so, acknowledge this figure for
better understanding of bubble sort.
Here, there are 5 elements to the sorted. So, there are 4 steps.
Program To Sort Elements using Bubble Sort Algorithm
/*C Program To Sort data in ascending order using bubble sort.*/
#include <stdio.h>
int main()
{
int data[100],i,n,step,temp;
printf("Enter the number of elements to be sorted: ");
scanf("%d",&n);
for(i=0;i<n;++i)
{
printf("%d. Enter element: ",i+1);
scanf("%d",&data[i]);
}
for(step=0;step<n-1;++step)
for(i=0;i<n-step+1;++i)
{
if(data[i]>data[i+1]) /* To sort in descending order, change > to < in this line. */
{
temp=data[i];
data[i]=data[i+1];
data[i+1]=temp;
}
}
printf("In ascending order: ");
for(i=0;i<n;++i)
printf("%d ",data[i]);
return 0;
}
Enter the number of elements to be sorted: 6
1. Enter element: 12
2. Enter element: 3
3. Enter element: 0
4. Enter element: -3
5. Enter element: 1
6. Enter element: -9
In ascending order: -9 -3 0 1 3 13
B
No comments:
Post a Comment