zoukankan      html  css  js  c++  java
  • 【C语言库函数】-qsort

      qsort 函数 C 语言编译器函数库自带的排序函数,其时间复杂度为 O(nlog n)。qsort 函数包含在 C 标准库 <stdlib.h> 中。


    一、函数声明

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

    二、参数

    • base     :指向要排序的数组的第一个元素的指针。

    • nitems  :由 base 指向的数组中元素的个数。

    • size      :数组中每个元素的大小,以字节为单位。

    • compar :用来比较两个元素的函数,即函数指针(回调函数)

    三、回调函数

      回调函数就是通过函数指针调用的函数。如果把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,就说这是回调函数。

      在 qsort 函数中,compar 参数指向一个比较两个元素的函数。注意两个形参必须是 const void * 型,在调用compar 函数时,传入的实参也必须转换成 const void * 型。在 compar 函数内部将 const void * 型转换成实际类型。

      compar 函数的声明如下:

    1 int compar(const void *p1, const void *p2);

      compar 函数的逻辑如下:

    Compare 函数的返回值
    描述
    < 0
    elem1将被排在elem2前面
    0
    elem1 等于 elem2
    > 0
    elem1 将被排在elem2后面

      

  • 相关阅读:
    查看网页源代码的方法
    Chrome浏览器清除缓存
    copy与内存管理
    分类(Category)
    @class的使用
    @property参数的
    力扣131题、93题(分割回文串,复原IP地址)
    力扣17题(电话号码的字母组合)
    力扣216(组合总和)
    力扣242题、383题(有效的字母异位词,赎金信)
  • 原文地址:https://www.cnblogs.com/murongmochen/p/13054896.html
Copyright © 2011-2022 走看看