Full Stack Web 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