您的位置:首页 > 产品设计 > UI/UE

C program for quick sort

2013-10-19 20:50 281 查看
#include<stdio.h>

#include<stdlib.h>

#include<time.h>

#define N 15

void quicksort(int *a,int p,int r);

int partition(int *a,int p,int r);

int main()

{

int arr
,i;

srand(time(NULL));

for(i=0;i<N;i++)

{

arr[i]=rand()/1000+100;

}

printf("\n原数据序列:\n");

for(i=0;i<N;i++)

{

printf("%d ",arr[i]);

}

quicksort(arr,0,N-1);

printf("\n排序后数据序列:\n");

for(i=0;i<N;i++)

{

printf("%d ",arr[i]);

}

printf("\n");

system("pause");

return 0;

}

void quicksort(int *a,int p,int r)

{

int q;

if(p<r)

{

q=partition(a,p,r);

quicksort(a,p,q-1);

quicksort(a,q+1,r);

}

}

int partition(int *a,int p,int r)

{

int i,j,x,t,s;

x=a[r];

i=p-1;

for(j=p;j<r;j++)

{

if(a[j]<=x)

{

i++;

t=a[i];

a[i]=a[j];

a[j]=t;

}

}

s=a[i+1];

a[i+1]=a[r];

a[r]=s;

return i+1;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: