Bubble Sort
This is a one kind of sorting technique. The complexity of this sorting technique is,Worst-case performance : O(n^2)
Best-case performance : O(n)
Average-case performance : O(n^2)
For more details click here
Code
/******Bubble Sort*****/ #include<stdio.h> #include<malloc.h> #include<stdlib.h> //Function defination int* bubble_sort(int *arr,int *n){ int i,j,flag,temp; for(i=*n-1;i>=0;i--) { flag=0; for(j=0;j<i;j++) if(arr[j]>arr[j+1]){ //Swapping temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; flag=1; } if(flag==0) break; } return arr; } //Starting the main function int main(){ int *arr,n,i; while(1) { //Taking the number of element printf("\nEnter the number of element you want to store:"); scanf("%d",&n); if(n<=0){ printf("\nAn array size must be a positive integer."); continue; } else break; } //Creating array dynamically arr=(int*)malloc(n*sizeof(int)); if(!arr){ printf("\nNot enough memory."); exit(0); } printf("\nEnter the element(s) in the array:"); for(i=0;i<n;i++){ printf("\nElement[%d]:",i+1); scanf("%d",&arr[i]); } printf("\nThe element(s) before sorting:"); for(i=0;i<n;i++) printf(" %d",arr[i]); printf("\nThe element(s) after sorting:"); arr=bubble_sort(arr,&n); for(i=0;i<n;i++) printf(" %d",arr[i]); return 0; }
Output
Enter the number of element you want to store:7 Enter the element(s) in the array: Element[1]:6 Element[2]:1 Element[3]:8 Element[4]:4 Element[5]:5 Element[6]:2 Element[7]:3 The element(s) before sorting: 6 1 8 4 5 2 3 The element(s) after sorting: 1 2 3 4 5 6 8