用C语言生成一千个随机数,用快速排序法
时间: 2023-07-12 14:45:26 浏览: 119
用c语言产生随机数
5星 · 资源好评率100%
以下是一个使用快速排序算法对一千个随机数进行排序的C语言程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void quick_sort(int arr[], int left, int right);
int main()
{
int n = 1000;
int arr[n];
// 用系统时间作为随机数种子,确保每次生成的随机数不同
srand((unsigned)time(NULL));
// 随机生成一千个数
for (int i = 0; i < n; i++) {
arr[i] = rand() % 1000;
}
// 对随机数进行快速排序
quick_sort(arr, 0, n - 1);
// 输出排序后的结果
printf("排序后的结果是:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
void quick_sort(int arr[], int left, int right)
{
if (left >= right) {
return;
}
int i = left;
int j = right;
int pivot = arr[left];
while (i < j) {
while (i < j && arr[j] >= pivot) {
j--;
}
while (i < j && arr[i] <= pivot) {
i++;
}
if (i < j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
arr[left] = arr[i];
arr[i] = pivot;
quick_sort(arr, left, i - 1);
quick_sort(arr, i + 1, right);
}
```
该程序使用`srand()`函数和`rand()`函数生成一千个随机数,并使用快速排序算法进行排序。程序首先生成一千个随机数,然后调用`quick_sort()`函数对这些随机数进行排序,并输出排序后的结果。 `quick_sort()`函数是快速排序的实现,使用递归的方式对数组进行划分和排序。
阅读全文