排序是一种按特定顺序排列数据的过程。C语言中可使用qsort()函数对数组排序,该函数需要一个比较函数来比较两个元素并返回比较结果。例如,以下代码演示如何使用int_compare()比较函数对整数数组进行从小到大排序。

C语言数组排序
排序是什么?
排序是一种将数据按特定顺序排列的过程,例如从小到大或从大到小排列。
C语言中如何使用数组排序?
立即学习“C语言免费学习笔记(深入)”;
在C语言中,可以使用qsort()函数对数组进行排序。该函数原型如下:
支持模板化设计,基于标签调用数据 支持N国语言,并能根据客户端自动识别当前语言 支持扩展现有的分类类型,并可修改当前主要分类的字段 支持静态化和伪静态 会员管理功能,询价、订单、收藏、短消息功能 基于组的管理员权限设置 支持在线新建、修改、删除模板 支持在线管理上传文件 使用最新的CKEditor作为后台可视化编辑器 支持无限级分类及分类的移动、合并、排序 专题管理、自定义模块管理 支持缩略图和图
void qsort(void *base, size_t num, size_t size, int (*compar)(const void*, const void*));
- base:待排序数组的首地址
- num:数组中元素的数量
- size:每个元素的大小(以字节为单位)
- compar:比较函数,用于比较两个元素并返回比较结果
比较函数
为了使用qsort(),需要提供一个比较函数。该函数接收两个元素的指针,并返回一个整数,表示两个元素之间的比较结果:
- 负值:第一个元素小于第二个元素
- 零:两个元素相等
- 正值:第一个元素大于第二个元素
示例代码
以下示例演示了如何使用qsort()对整数数组进行排序:
#include#include int int_compare(const void *a, const void *b) { int *pa = (int*)a; int *pb = (int*)b; return *pa - *pb; } int main() { int arr[] = {3, 1, 4, 2, 5}; int n = sizeof(arr) / sizeof(arr[0]); qsort(arr, n, sizeof(int), int_compare); for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } return 0; }
输出:
1 2 3 4 5










