文章      动态     相关文章     最新文章     手机版动态     相关动态     |   首页|会员中心|保存桌面|手机浏览

8u5y2

https://sicmodule.kub2b.com/com8u5y2/

相关列表
文章列表
  • 暂无文章
推荐文章
C语言qsort函数的使用详解
发布时间:2024-12-20        浏览次数:0        返回列表

qsort)函数是C语言库函数中的一种排序算法,其用到的排序思想是快速排序(quicksort)。它的独特之处在于可以排序任意类型的数组元素(整形、浮点型、字符串和结构体类型)。

 
 

:待排序数组的首地址。
:数组元素的个数。
:一个数组元素的大小(所占字节数)。
④首先它是一个函数指针,指向的函数是排序函数;其此所包含的两个参数为所比较元素的地址;最后是参数类型为void*的原因是它的独特之处,可以接收任意类型的参数。

以整形排序为例

 

此函数为自定义函数(比较函数,函数的返回值类型为 int 类型,总共有三种情况:< 0:elem1小于elem2;0:elem1等于elem2;> 0:elem1大于elem2。

 

两个参数表示所要比较元素的地址,之所以参数的接收类型为 void* 是因为比较元素的类型是不清楚的,只能以 void* 这个万能桶进行接收;const表示指针所指向元素的值无法更改。`

 

对两个元素指针进行强制类型转化为整型指针,再进行解引用获取比较元素的值,最后将两个元素的差值返回。当然也可以根据比较元素的类型将其强制类型转化。

 
 
 
 
 

:此函数返回类型为 int 型,浮点型相减的数字会丢失小数点后的数字从而造成误差。若差值为大于零且小于一,则返回值会被设置为零。

1.按字符串首字母进行排序

 

2.按字符串长度进行排序

 

3.按字典进行排序

 
 
 

1.一级排序:对所有学生进行名字排序。

 

2.二级排序:若名字相同则按照成绩再进行排序,若有三级排序,以此类推。

 
 
 
 
 
 
 
 
 
 
 
 

1.按字符串首字母进行排序

 
 

2.按字符串长度进行排序

 
 

3.按字典进行排序

 
 
 

一级排序与字符串的比较类似,直接看二级排序。