
In this post i will be showing different types of sorting algorithm in C language.
Aim: In this post i will be showing different types of sorting algorithm in C language.
Algorithm:
For Ascending:
For Descending:
Code:
#include <stdio.h>
int main(){
int array[10],n,temp,min;
printf("------------------------\n");
printf("Enter the number of elements of the array:");
scanf("%d",&n);
printf("the elements of the array:");
for(int i = 0; i<n; i){
scanf("%d",&array[i]);
}
for(int i = 0; i < n - 1; i){
min=i;
for(int j = i + 1; j < n; j){
if(array[min] > array[j])
min=j;
}
if(min != i){
temp=array[i];
array[i]=array[min];
array[min]=temp;
}
}
printf("The elements of the array in ascending order are: \n");
for(int i = 0; i<n; i){
printf("%d\n",array[i]);
}
for(int i = 0; i < n - 1; i){
min=i;
for(int j = i + 1; j < n; j){
if(array[min] < array[j])
min=j;
}
if(min != i){
temp=array[i];
array[i]=array[min];
array[min]=temp;
}
}
printf("The elements of the array in descending order are: \n");
for(int i = 0; i<n; i++){
printf("%d\n",array[i]);
}
}
Aim: To develop C programming for sorting N elements using Bubble sort algorithms.
Algorithm:
**For Ascending: **
**For descending: **
Code:
#include <stdio.h>
int main(){
int array[10],n,temp;
printf("------------------------\n");
printf("Enter the number of elements of the array:");
scanf("%d",&n);
printf("the elements of the array:");
for(int i = 0; i<n; i){
scanf("%d",&array[i]);
}
for(int i =0; i<n-1;i){
for(int j = 0; j<n-1;j){
if(array[j] > array[j+1]){
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
printf("The elements of the array in ascending order are: \n");
for(int i = 0; i<n; i){
printf("%d\n",array[i]);
}
for(int i =0; i<n-1;i){
for(int j = 0; j<n-1;j){
if(array[j] < array[j+1]){
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
printf("The elements of the array in descending order are: \n");
for(int i = 0; i<n; i++){
printf("%d\n",array[i]);
}
}
Aim: To develop C programming for sorting N elements using insertion sort algorithms.
Algorithm:
For Ascending:
For descending:
Code:
#include <stdio.h>
int main(){
int temp,array[10],n,j;
printf("------------------------\n");
printf("Enter the number of elements of the array:");
scanf("%d",&n);
printf("the elements of the array:");
for(int i = 0; i<n; i){
scanf("%d",&array[i]);
}
for(int i = 1; i<n; i){
temp = array[i];
j = i-1;
while(j>=0 && array[j] > temp){
array[j+1] = array[j];
--j;
}
array[j + 1] = temp;
}
printf("The elements of the array in ascending order are: \n");
for(int i = 0; i<n; i){
printf("%d\n",array[i]);
}
for(int i = 1; i<n; i){
temp = array[i];
j = i-1;
while(j>=0 && array[j] < temp){
array[j+1] = array[j];
--j;
}
array[j + 1] = temp;
}
printf("The elements of the array in descending order are: \n");
for(int i = 0; i<n; i++){
printf("%d\n",array[i]);
}
}
Aim: To develop C programming for sorting N elements using Merge sort algorithms.
Algorithm:
Code:
#include<stdio.h>
void quicksort(int number[50],int first,int last){
int i, j, pivot, temp;
if(first<last){
pivot=first;
i=first;
j=last;
while(i<j){
while(number[i]<=number[pivot]&&i<last)
i++;
while(number[j]>number[pivot])
j--;
if(i<j){
temp=number[i];
number[i]=number[j];
number[j]=temp;
}
}
temp=number[pivot];
number[pivot]=number[j];
number[j]=temp;
quicksort(number,first,j-1);
quicksort(number,j+1,last);
}
}
int main(){
int i, count, number[50];
printf("20BCE2935\n");
printf("------------------------\n");
printf("enter the numbers of elements:\n ");
scanf("%d",&count);
printf("Enter %d elements:\n ", count);
for(i=0;i<count;i++)
scanf("%d",&number[i]);
quicksort(number,0,count-1);
printf("Order of Sorted elements:\n ");
for(i=0;i<count;i++)
printf(" %d\n",number[i]);
return 0;
}
Aim: To develop C programming for sorting N elements using Quick sort algorithms.
Algorithm:
Code:
#include<stdio.h>
void quicksort(int number[50],int first,int last){
int i, j, pivot, temp;
if(first<last){
pivot=first;
i=first;
j=last;
while(i<j){
while(number[i]<=number[pivot]&&i<last)
i++;
while(number[j]>number[pivot])
j--;
if(i<j){
temp=number[i];
number[i]=number[j];
number[j]=temp;
}
}
temp=number[pivot];
number[pivot]=number[j];
number[j]=temp;
quicksort(number,first,j-1);
quicksort(number,j+1,last);
}
}
int main(){
int i, count, number[50];
printf("------------------------\n");
printf("enter the numbers of elements:\n ");
scanf("%d",&count);
printf("Enter %d elements:\n ", count);
for(i=0;i<count;i++)
scanf("%d",&number[i]);
quicksort(number,0,count-1);
printf("Order of Sorted elements:\n ");
for(i=0;i<count;i++)
printf(" %d\n",number[i]);
return 0;
}