随机生成10个100以内的数,利用快速排序算法排序c语言
时间: 2024-05-12 07:17:03 浏览: 8
很高兴为您解答问题!以下是使用快速排序算法在C语言中对随机生成的10个100以内的整数进行排序的代码:
```
#include <stdio.h>
#include <stdlib.h>
#define MAX_NUM 100
#define ARRAY_SIZE 10
void quick_sort(int arr[], int left, int right)
{
int i, j, pivot, temp;
if (left >= right) {
return;
}
pivot = arr[left];
i = left + 1;
j = right;
while (i <= j) {
while (i <= right && arr[i] < pivot) {
i++;
}
while (j >= left + 1 && arr[j] > pivot) {
j--;
}
if (i <= j) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
i++;
j--;
}
}
arr[left] = arr[j];
arr[j] = pivot;
quick_sort(arr, left, j - 1);
quick_sort(arr, j + 1, right);
}
int main()
{
int arr[ARRAY_SIZE];
int i;
// 生成随机数
printf("生成的随机数为:");
for (i = 0; i < ARRAY_SIZE; i++) {
arr[i] = rand() % MAX_NUM + 1;
printf("%d ", arr[i]);
}
printf("\n");
// 排序
quick_sort(arr, 0, ARRAY_SIZE - 1);
// 输出排序结果
printf("排序后的结果为:");
for (i = 0; i < ARRAY_SIZE; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
希望您能够满意这个答案!