C语言生成随机数并快速排序
时间: 2023-10-14 10:21:23 浏览: 207
以下是一个示例程序,包含生成随机数和快速排序的实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void quicksort(int *arr, int left, int right)
{
int i, j, pivot, temp;
if (left < right)
{
pivot = left;
i = left;
j = right;
while (i < j)
{
while (arr[i] <= arr[pivot] && i < right)
i++;
while (arr[j] > arr[pivot])
j--;
if (i < j)
{
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
temp = arr[pivot];
arr[pivot] = arr[j];
arr[j] = temp;
quicksort(arr, left, j - 1);
quicksort(arr, j + 1, right);
}
}
int main()
{
int n, i;
printf("Enter the size of array: ");
scanf("%d", &n);
int arr[n];
srand(time(0));
printf("Original array: ");
for (i = 0; i < n; i++)
{
arr[i] = rand() % 1000;
printf("%d ", arr[i]);
}
quicksort(arr, 0, n - 1);
printf("\nSorted array: ");
for (i = 0; i < n; i++)
printf("%d ", arr[i]);
return 0;
}
```
该程序首先要求用户输入数组大小,然后使用 `srand()` 函数和 `rand()` 函数生成随机数,并将随机数存储在数组中。然后,使用 `quicksort()` 函数对数组进行快速排序,并输出排序后的结果。
阅读全文