用c语言随机生成10000个数,并存进数组,用快速排序法对数组进行排序,最后输出
时间: 2023-07-12 09:39:15 浏览: 117
好的,下面是代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void quick_sort(int arr[], int left, int right);
int partition(int arr[], int left, int right);
int main()
{
int arr[10000];
int i;
// 生成随机数并存储到数组中
srand((unsigned)time(NULL));
for(i=0; i<10000; i++)
{
arr[i] = rand();
}
// 快速排序
quick_sort(arr, 0, 9999);
// 输出排序后的结果
for(i=0; i<10000; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
// 快速排序
void quick_sort(int arr[], int left, int right)
{
if(left < right)
{
int p = partition(arr, left, right);
quick_sort(arr, left, p-1);
quick_sort(arr, p+1, right);
}
}
// 分割函数,将数组分为小于基准值和大于基准值的两部分
int partition(int arr[], int left, int right)
{
int pivot = arr[right];
int i = left - 1;
int j;
for(j=left; j<right; j++)
{
if(arr[j] < pivot)
{
i++;
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
int temp = arr[i+1];
arr[i+1] = arr[right];
arr[right] = temp;
return i+1;
}
```
运行结果会输出排序后的10000个随机数。
阅读全文
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)