Selection Sort




#include<stdio.h>

void selection_sort(int *arr,int n)
{
    int i,j,min,tmp;

for(i=0;i<n-1;i++)
{
  min=i;
  for(j=i+1;j<n;j++)
  {
   if(arr[min]>arr[j])
   {
     min=j;
     }
  }
     tmp=arr[i];
     arr[i]=arr[min];
     arr[min]=tmp;
}

}

void display(int *arr,int n)
{
  int i;
  for(i=0;i<n;i++)
  {
  printf("%d ",arr[i]);
  }
}

int main()
{
int *arr,n,i;
printf("Enter the no. of elements : ");
scanf("%d",&n);

arr=(int*)malloc(sizeof(int)*n);

printf("\n\nEnter %d elements :",n);

for(i=0;i<n;i++)
scanf("%d",&arr[i]);

printf("\n\nBefore Sorting :");
display(arr,n);

selection_sort(arr,n);

printf("\n\nAfter Sorting :");
display(arr,n);


return 0;
}

No comments: