使用c语言快速排序78,56,63,28,16,9,22,38,49,72
时间: 2023-09-30 16:05:37 浏览: 53
好的,这是一个关于编程的问题,我可以帮您解答。以下是使用C语言快速排序的代码:
```c
#include <stdio.h>
// 交换两个元素的值
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
// 使用快速排序进行排序
void quickSort(int arr[], int left, int right) {
if (left < right) {
int i = left, j = right, x = arr[i];
while (i < j) {
while (i < j && arr[j] > x) { j--; }
if (i < j) { arr[i++] = arr[j]; }
while (i < j && arr[i] < x) { i++; }
if (i < j) { arr[j--] = arr[i]; }
}
arr[i] = x;
quickSort(arr, left, i - 1);
quickSort(arr, i + 1, right);
}
}
int main() {
int arr[] = {78, 56, 63, 28, 16, 9, 22, 38, 49, 72};
int n = sizeof(arr) / sizeof(arr[0]);
quickSort(arr, 0, n - 1);
printf("排序后的数组:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
这个程序使用了快速排序算法,将给定的数字序列从小到大进行排序。如果您还有其他问题,欢迎继续提问,我会尽力回答。