Home » Online Computer Education » C Program to solve “Bubble Sorting Algorithm example” Complete C language Program of algorithm.

# Bubble Sorting Algorithm example

——————————–
Program takes a hardcoded array of certain numbers and sorts them using a simple bubble sort algorithm that I put into a function. I used a macro insteadof a function for the swapping b/c it’s easier to read and understand. The program outputs a beforeand after of the elements of the array to show that it actually did something.
***************************************************/

#include <stdio.h>
#include <stdlib.h>
#define SWAP(a,b) { int t; t=a; a=b; b=t; } // Macro for swapping
#define INDEX 8
void bubble_srt(int a[], int n);
int main(void)
{
int i;
int array[INDEX] = {12, 9, 4, 99, 120, 1, 3, 10};

printf(“Before the sort:\n”); // Show array elements before sort
for(i = 0; i < INDEX; i++)
printf(“%d “, array[i]);
printf(“\n”);

bubble_srt(array, INDEX); // Sort the array

printf(“After the sort:\n”); // Show results after the sort
for(i = 0; i < INDEX; i++)
printf(“%d “, array[i]);
printf(“\n”);

system(“PAUSE”); // Pause the screen
return 0;
}

/***************************************************************
The Bubble Sort Itself
———————-
The bubble sort is probably one of the easiest sorting algorithms  to understand. The function sifts through the array swapping pairs of numbers over and over again until it is finally sorted. When it makes it’s first pass, it compares the first two numbers
(or elements) of the array. If the first number is greater than the second number, it is swapped with that number. Then it compares the second and third numbers (or elements) of the array. If the second number is greater than the third, it is swapped with that number. It continues down the line until it has gone through the entire array. Then it makes another pass through it doing the same thing. It makes a pass for each element. So if an array has 8 elements, the array will be sifted through 8 times.
The function takes 2 arguments. One is the array itself(int a[]).  Two is the number of elements in the array(int n). This number is important because, as I said earlier, the array is to be sifted through once for each element in the array.
***************************************************************/

void bubble_srt( int a[], int n )
{
int i, j;

for(i = 0; i < n; i++) // Make a pass through the array for each element
{
for(j = 1; j < (n-i); j++) // Go through the array beginning to end
{
if(a[j-1] > a[j]) // If the the first number is greater, swap it
SWAP(a[j-1],a[j]);
}
}
} The main objective of this website is to provide quality study material to all students (from 1st to 12th class of any board) irrespective of their background as our motto is “Education for Everyone”. It is also a very good platform for teachers who want to share their valuable knowledge.