C语言qsort函数

qsort 是 C 标准库stdlib.h中的一个函数,用于对数组进行快速排序。
语法格式:
void qsort(void *base, size_t num, size_t size,int (*compar)(const void *, const void *));
base:指向要排序的数组的起始地址。
num:数组中元素的个数。
size:每个元素的大小(以字节为单位)。
compar:比较两个元素的函数。

比较函数:
定义:int compar(const void *a, const void *b);
如果 a 小于 b,则返回负值。
如果 a 等于 b,则返回 0。
如果 a 大于 b,则返回正值。

示例:
`#include <stdio.h>

include <stdlib.h>

// 定义比较函数
int compare(const void *a, const void *b) {//*const void :这是一个指向常量数据的通用指针(void pointer)。void *表示可以指向任何类型的数据,而const void 则进一步表明通过这个指针不能修改所指向的数据。
在函数参数中使用const void 通常用于传递任意类型的数据,同时保证这些数据不会被函数内部修改。
return (
(int
)a - (int)b);//
(int *)
:这是一个类型转换操作,将一个指针转换为指向整数(int)类型的指针。
}

int main() {
int arr[] = {5, 15, 40, 30, 10};
int n = sizeof(arr) / sizeof(arr[0]);

// 使用 qsort 排序
qsort(arr, n, sizeof(int), compare);
// 输出排序后的数组
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;

}
`

注意:qsort 函数在内部使用了一种快速排序(Quicksort)算法。不稳定。

posted @   jenniferCAI  阅读(86)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示