The bubble sort algorithm starts by comparing the first two elements of an array and replacing them if necessary. For example, if you want to sort the elements of an array in ascending order and the first element is greater than the second, you need to swap the elements. If the first element is less than the second, you must not swap it. The second and third elements are then compared again and swapped if necessary, and this process continues until the last and penultimate elements have been compared and swapped. This completes the first step of the bubble sort.
If there are n elements to sort, then the process mentioned above should be repeated n-1 times to get the desired result. But for better performance in the second step, the last and penultimate elements are not compared, because the corresponding element is automatically placed at the end after the first step. Similarly, in the third step, the last and penultimate and penultimate elements are not compared, and so on.
For a better understanding, let's look at the figure.
The figure shows 5 elements for sorting and 4 steps.
Program for sorting elements using bubble sort algorithm
// Программа для сортировки данных в порядке возрастания с использованием пузырьковой сортировки. #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]) // Чтобы отсортировать в порядке убывания, измените > на < в этой строке. { 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 number of terms(should be less than 100): 5 Enter elements: 12 1 2 5 3 In ascending order: 1 2 3 5 12
Note: Although this code is used in C programming, this method can be used in any programming to sort the elements of an array.
The bubble sort algorithm is quite popular, but there are many better algorithms than bubble sort.
Attention! Bubble sort should not be used to sort large data if performance is a concern in this program.