c语言

C语言中怎么用sort函数对vector排序

小亿
158
2023-11-08 18:23:04
栏目: 编程语言

在C语言中,可以使用sort函数对vector进行排序。下面是一个示例代码:

#include <stdio.h>
#include <stdlib.h>

// 比较函数,用于sort函数的第三个参数
int compare(const void *a, const void *b) {
    return (*(int*)a - *(int*)b);
}

int main() {
    int arr[] = {5, 2, 8, 1, 9};
    int size = sizeof(arr) / sizeof(arr[0]);
    
    // 对vector进行排序
    qsort(arr, size, sizeof(int), compare);
    
    // 打印排序后的vector
    for (int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }
    
    return 0;
}

输出结果为:1 2 5 8 9

在这个示例中,我们使用qsort函数进行排序。qsort函数的第一个参数是待排序的数组名,第二个参数是数组的大小(元素个数),第三个参数是元素的大小(以字节为单位),第四个参数是一个比较函数的指针。比较函数用于比较两个元素的大小,返回一个负值、零或正值,表示第一个元素小于、等于或大于第二个元素。在本例中,我们使用compare函数作为比较函数,对数组进行升序排序。最后,使用循环打印排序后的数组。

0
看了该问题的人还看了