1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > C语言随机生成1到50中7个数 c语言生成50个随机数 对随机数进行快速排序。

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

时间:2019-11-26 04:43:14

相关推荐

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;

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。