用c语言实现随机生成20个数字,并使用快速排序算法进行排序的完整程序
时间: 2024-05-14 12:16:45 浏览: 110
好的,以下是C语言实现随机生成20个数字并使用快速排序算法进行排序的完整程序:
```
#include <stdio.h>
#include <stdlib.h>
void quick_sort(int values[], int left, int right)
{
int i = left, j = right;
int temp, pivot = values[(left + right) / 2];
// Partition
while (i <= j) {
while (values[i] < pivot)
i++;
while (values[j] > pivot)
j--;
if (i <= j) {
temp = values[i];
values[i] = values[j];
values[j] = temp;
i++;
j--;
}
}
// Recursion
if (left < j)
quick_sort(values, left, j);
if (i < right)
quick_sort(values, i, right);
}
int main()
{
int arr[20];
int i, j;
// Generate 20 random numbers
for (i = 0; i < 20; i++)
arr[i] = rand() % 100;
// Before sorting
printf("Before sorting: ");
for (i = 0; i < 20; i++)
printf("%d ", arr[i]);
printf("\n");
// Sort the array
quick_sort(arr, 0, 19);
// After sorting
printf("After sorting: ");
for (i = 0; i < 20; i++)
printf("%d ", arr[i]);
printf("\n");
return 0;
}
```
注意:这只是一个简单的示例程序,不能保证在所有情况下都能完美运行。在实际开发中,请根据实际需求进行修改和优化。
阅读全文