Full Stack Development Internship Program
- 29k Enrolled Learners
- Weekend/Weekday
- Live Class
Bubble sort in C is a simple sorting algorithm which repeatedly compares the adjacent elements of the given array & swaps them if they are in the wrong order. You might be wondering about the name Bubble Sort. Following are the Pointers Covered in this article:
The sorting technique is called so because the algorithm acts like a bubble, the lighter elements come up and heavier elements settle down. Bubble Sort algorithm sorts the list in passes. Now, to sort a list with n elements Bubble sort requires n-1 passes. To make it clearer, let’s understand this step by step.
Array: -5, 35, 2, 13, -15
Pass 1
The last element is the largest element.
Pass 2
The second last element is the second largest element.
Pass 3
The third last element is the third largest element.
Pass 4
Eventually, the first is the smallest & 2nd is the second smallest element in the array. So, in this case, four passes were required to sort an array of 5 elements.
Before looking at the algorithm in detail, let’s look at the time complexity of the Bubble Sort in C algorithm.
Now let us quickly look at the algorithm, so that moving ahead we can write the Bubble sort algorithm in C.
void bubbleSort(int array[], int n)
{
int i, j;
//Pass in Bubble Sort
for (i = 0; i < n-1; i++)
/* Comparing the two adjacent elements & swapping if elements are not at the correct position */
for (j = 0; j < n-i-1; j++) if (array[j] > array[j+1])
swap(&array[j], &array[j+1]);
}
#include <stdio.h>
// Function to swap elements
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
// bubble sort function
void bubbleSort(int array[], int n)
{
int i, j;
for (i = 0; i < n-1; i++)
for (j = 0; j < n-i-1; j++) if (array[j] > array[j+1])
swap(&array[j], &array[j+1]);
}
// Function to print the elements of an array
void printArray(int array[], int size)
{
int i;
for (i=0; i < size; i++)
printf("%d ", array[i]);
printf("n");
}
// Main Function
int main()
{
int array[] = {-5, 35, 2, 13, -15};
int size = sizeof(array)/sizeof(array[0]);
bubbleSort(array, size);
printf("Sorted array: n");
printArray(array, size);
return 0;
}Now after executing the above C program you would have understood how Bubble Sort works & how to implement it in C language. I hope this blog is informative and added value to you.
Check out the Java training by Edureka, a trusted online learning company with a network of more than 250,000 satisfied learners spread across the globe. Edureka’s Java J2EE and SOA training and certification course is designed for students and professionals who want to be a Java Developer. The course is designed to give you a head start into Java programming and train you for both core and advanced Java concepts along with various Java frameworks like Hibernate & Spring.
Got a question for us? Please mention it in the comments section of this Bubble Sort in C article and we will get back to you as soon as possible.
edureka.co