qsort函数

qsort 函数是C语言标准库中的一个函数,用于对数组中的元素进行快速排序。快速排序是一种常用的排序算法,它具有较好的性能和效率。qsort函数可以用于对不同类型的数据进行排序,只要提供适当的比较函数。

qsort 函数的原型如下:

void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));

base:指向要排序的数组的指针。

nmemb:数组中元素的数量。

size:每个元素的大小(以字节为单位)。

compar:一个函数指针,用于比较两个元素的函数。这个函数应该接受两个 const void* 参数,这两个参数指向待比较的元素,然后返回一个整数值表示它们的比较结果。如果第一个元素应该排在第二个元素之前,返回一个负数;如果第一个元素应该排在第二个元素之后,返回一个正数;如果它们相等,返回0。

下面是一个示例,展示如何使用 qsort 函数来对一个整数数组进行排序:

#include <stdio.h>

#include <stdlib.h>

// 比较函数,用于升序排序

int compare(const void *a, const void *b) {

return (*(int*)a - *(int*)b);

}

int main() {

int arr\[\] = {12, 4, 7, 2, 9, 1};

int n = sizeof(arr) / sizeof(arr0);

qsort(arr, n, sizeof(int), compare);

for (int i = 0; i < n; i++) {

printf("%d ", arri);

}

return 0;

}

这个程序使用 qsort 函数对整数数组 arr 进行升序排序,然后打印排序后的结果。你可以根据需要自定义 compare 函数,以实现不同的排序方式。

相关推荐
ZC跨境爬虫13 分钟前
LeetCode 219. 存在重复元素 II(滑动窗口 + 哈希表详解)
算法·leetcode·散列表
吞下星星的少年·-·23 分钟前
The 2025 ICPC Asia East Continent Online Contest (I) A题(模拟+贪心)
算法·贪心·模拟
小程序设计43 分钟前
【机械设计】磁粉检测机器人的设计与验证
算法·机器人
Navigator_Z1 小时前
LeetCode //C - 1220. Count Vowels Permutation
c语言·算法·leetcode
吃好睡好便好1 小时前
判断函数的使用
学习·算法·matlab·生活·判断函数
2601_956121971 小时前
线性DP(入门)
c++·算法·动态规划
2601_962201721 小时前
Java进阶,集合,Colllection,常见数据结构
java·数据结构·windows
feilieren1 小时前
leetcode - 389. 找不同
算法·leetcode
挽星安1 小时前
2026/8/29
数据结构·算法
positive_zpc1 小时前
进阶数据结构图——最短路径(二)
数据结构·算法·图论·最短路径