c语言pta数组排序
时间: 2025-01-04 07:21:57 浏览: 20
在C语言中,对数组进行排序通常可以使用标准库函数如`qsort()`,这是快速排序(Quicksort)的一个实现在C标准库中的一个例程。如果你有一个整型数组想要排序,你可以这样做:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义一个比较函数,用于qsort()
int compare(const void* a, const void* b) {
return (*(int*)a - *(int*)b);
}
void pta_sort(int arr[], int size) {
if (size > 1) {
// 使用qsort()对数组进行降序排列
qsort(arr, size, sizeof(int), compare);
}
}
int main() {
int arr[] = {5, 2, 9, 1, 5, 6};
int n = sizeof(arr) / sizeof(arr[0]);
printf("Before sorting: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
pta_sort(arr, n);
printf("\nAfter sorting: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
在这个例子中,我们首先定义了一个`compare`函数,它是`qsort`的参数,用于指定元素之间的排序规则。然后在`pta_sort`函数中,如果数组的大小大于1,我们就调用`qsort`进行排序。
运行上述代码,你会看到未排序和已排序数组的输出。如果你想得到升序排列,只需将`compare`函数内的减法运算符 `-` 改成 `+` 即可。
阅读全文