C语言随机生成1到50中7个数,c语言生成50个随机数,对随机数进行快速排序。

楼下的几个回答我怎么看也不是快速排序,所以我做了一个用快速排序法排序的程序

#include

#include

#include

#define LEN 50

//快速排序(升)

void quicksup(int *arr,int low,int high)

{

int temp,l,r;

if(low

{

l=low;

r=high;

temp=arr[low];

while(low

{

while(low=temp)

high--;

if(low

arr[low]=arr[high];

while(low

low++;

if(low

arr[high]=arr[low];

}

arr[low]=temp;

quicksup(arr,l,low-1);

quicksup(arr,low+1,r);

}

}

//快速排序(降)

void quicksdown(int *arr,int low,int high)

{

int temp,l,r;

if(low

{

l=low;

r=high;

temp=arr[low];

while(low

{

while(low

high--;

if(high==LEN)

high--;

if(low

arr[low]=arr[high];

while(low=temp)

low++;

if(low

arr[high]=arr[low];

}

arr[low]=temp;

quicksdown(arr,l,low-1);

quicksdown(arr,low+1,r);

}

}

//初始化数组

void init(int *arr,int len)

{

int i;

for(i=0;i

{

arr[i]=rand()%1000;

}

}

//打印数组元素

void print(int *arr,int len)

{

int i;

printf("\n  ");

for(i=0;i

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

printf("\n");

}

int main()

{

int arr[LEN];

srand((unsigned)time(NULL));

init(arr,LEN);

printf("排序前:");

print(arr,LEN);

quicksup(arr,0,LEN);

printf("排序后(升):");

print(arr,LEN);

quicksdown(arr,0,LEN);

printf("排序后(降):");

print(arr,LEN);

return 0;

}

75a74d40ab5023ded5a8d4ab94cc08f2.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值