欢迎来到飞鸟慕鱼博客,开始您的技术之旅!
当前位置: 首页知识笔记正文

qsort函数源码

终极管理员 知识笔记 113阅读

c 库函数 qsort () 对数组进行排序是什么?

答:C 库函数 void qsort (void *base, size_t nitems, size_t size, int (*compar) (const void *, const void*)) 对数组进行排序。 下面是 qsort () 函数的声明。 base -- 指向要排序的数组的第一个元素的指针。

qsort(arr, sizeof(arr)/sizeof (arr [0]), compare)是什么意思?

答:所以 qsort (arr, sizeof (arr)/sizeof (arr [0]), sizeof (arr [0]), compare); 对qsort函数的调用中,第二个参数是待排元素的个数(5个),第三个参数是待排元素的大小(16)。 我们将arr传入qsort函数, qsort函数将arr理解为指向数组第一个元素的指针 ,arr的第一个元素是 arr [0] [0] ,所以参数arg1和arg2指的是指向" a [i] [0] "的指针,我们知道, a [i] [0] 是字符,就是char,所以arg1和arg2指的是 char * 。

如何将arr传入qsort函数?

答:我们将arr传入qsort函数, qsort函数将arr理解为指向数组第一个元素的指针 ,arr的第一个元素是 arr [0] [0] ,所以参数arg1和arg2指的是指向" a [i] [0] "的指针,我们知道, a [i] [0] 是字符,就是char,所以arg1和arg2指的是 char * 。 我们将 void* 转换为 char* ,赋予a和b,调用strcmp函数对a和b进行比较。

声明:无特别说明,转载请标明本文来源!