Em đang tập viết code sắp xếp.
Hôm nay học đến quicksort mà sao em code mãi vẫn không được.
Đây là code của em, mong mọi người tìm hộ chỗ sai:
Code:
#include <stdio.h>
int k[101];
void partition(int l,int h)
{
int x,i,j,m;
x=k[(l+h)/2];
i=l;j=h;
while(i<=j)
{
while(k[i]<x) i++;
while(k[j]>x) j--;
if(i<=j)
{
if(i<j)
{
m=k[i];k[i]=k[j];k[j]=m;
}
i++;j--;
}
}
partition(l,j);partition(i,h);
}
main()
{
int n,i;
scanf("%d",&n);
for(i=1;i<=n;i++) scanf("%d",&k[i]);
partition(1,n);
for(i=1;i<=n;i++) printf("%d ",k[i]);
}