# C program to sort a given list of numbers in ascending order using Bubble sort

CServer Side ProgrammingProgramming

In C programming language, bubble sort is the simplest sorting technique and is also called as an exchange sort.

## Procedure for bubble sort

• Compare the first element with the remaining elements in the list and exchange(swap) them, if they are not in order.

• Repeat the same for other elements in the list until all the elements gets sorted.

## Algorithm

Given below is an algorithm to sort a given list of numbers in an ascending order by using the bubble sort technique −

Step 1 − Start

Step 2 − Take list(array), num

Step 4 − printlist(list,num)

Step 5 − bub_sort(list,num)

Step 6 − printlist(list,num)

readlist (list, num)

Step 7 − stop

1. for j = 0 to num
2. read list[j].

printlist(list,num)

1. for j =0 to num
2. write list[j].

bub_sort(list,num)

1. for i = 0 to num
2. for j =0 to (num – i)
3. if( list[j] > list[j+1])
4. swapList( address of list[j], address of list[j+1])

1. temp = value at list[j]
2. value at list[j] = value at list[j+1]
3. value at list[j+1] = temp

## Example

Following is the C program to sort a given list of numbers in an ascending order by using the bubble sort technique

Live Demo

#include <stdio.h>
#define MAX 10
void swapList(int *m,int *n){
int temp;
temp = *m;
*m = *n;
*n = temp;
}
/* Function for Bubble Sort */
void bub_sort(int list[], int n){
int i,j;
for(i=0;i<(n-1);i++)
for(j=0;j<(n-(i+1));j++)
if(list[j] > list[j+1])
swapList(&list[j],&list[j+1]);
}
int j;
printf("\nEnter the elements: \n");
for(j=0;j<n;j++)
scanf("%d",&list[j]);
}
/* Showing the contents of the list */
void printlist(int list[],int n){
int j;
for(j=0;j<n;j++)
printf("%d\t",list[j]);
}
void main(){
int list[MAX], num;
printf(" Enter the number of elements \n");
scanf("%d",&num);
printf("\n\nElements in the list before sorting are:\n");
printlist(list,num);
bub_sort(list,num);
printf("\n\nElements in the list after sorting are:\n");
printlist(list,num);
}

## Output

When the above program is executed, it produces the following result −

Enter the number of elements
10

Enter the elements:
11
23
45
1
3

6
35
69
10
22

Elements in the list before sorting are:
11 23 45 1 3 6 35 69 10 22

Elements in the list after sorting are:
1 3 6 10 11 22 23 35 45 69