C语言用qsort实现下面函数
时间: 2024-05-08 12:22:11 浏览: 142
以下是使用qsort函数实现的sort函数,用于对整型数组进行升序排序:
```c
#include <stdio.h>
#include <stdlib.h>
int compare(const void *a, const void *b) {
return (*(int*)a - *(int*)b);
}
void sort(int arr[], int size) {
qsort(arr, size, sizeof(int), compare);
}
int main() {
int arr[] = { 3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5 };
int size = sizeof(arr) / sizeof(arr[0]);
printf("Before sorting: ");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
sort(arr, size);
printf("\nAfter sorting: ");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
`compare`函数用于比较两个整数的大小,如果第一个整数小于第二个整数,则返回小于0的值,如果两个整数相等,则返回0,否则返回大于0的值。在`sort`函数中,我们使用`qsort`函数进行排序,传递数组、数组大小、元素大小和比较函数作为参数。最后,我们在`main`函数中测试`sort`函数。
阅读全文