Hi , this is a little code for quick sort in c ,
#include<stdio.h>
int partition(int *a,int i,int j)
{
int m,t,k;
k=i;
for(m=i+1;m<=j;m++)
{
if(a[m]<=a[k])
{
t = a[k];
a[k] = a[m];
a[m] = t;
k = m;
}
}
return k;
}
void quicksort(int *a,int i,int j)
{
int k;
if(i>=j)
return ;
k = partition(a,i,j);
quicksort(a,i,k-1);
quicksort(a,k+1,j);
}
int main()
{
int i;
int a[]={1,9,4,3,5,6};
quicksort(a,0,5);
for(i=0;i<6;i++)
printf("%d ",a[i]);
return 0;
}
#include<stdio.h>
int partition(int *a,int i,int j)
{
int m,t,k;
k=i;
for(m=i+1;m<=j;m++)
{
if(a[m]<=a[k])
{
t = a[k];
a[k] = a[m];
a[m] = t;
k = m;
}
}
return k;
}
void quicksort(int *a,int i,int j)
{
int k;
if(i>=j)
return ;
k = partition(a,i,j);
quicksort(a,i,k-1);
quicksort(a,k+1,j);
}
int main()
{
int i;
int a[]={1,9,4,3,5,6};
quicksort(a,0,5);
for(i=0;i<6;i++)
printf("%d ",a[i]);
return 0;
}
No comments:
Post a Comment