zoukankan      html  css  js  c++  java
  • qsort 函数用法

    用 法: void qsort(void *base, int nelem, int width, int (*fcmp)(const void *,const void *));   

    各参数:

    1 待排序数组首地址

    2 数组中待排序元素数量

    3 各元素的占用空间大小

    4 指向比较函数的指针 : 注意这里的比较函数必须是返回int型,且2个形参都是 const void * 类型 ,我们在对比较函数进行实现的时候必须告诉函数传入形参的具体指针类型。

    例如:我们要对字符串数组进行排序

    1 char** strNum = new char*[lenght]; //指向字符指针的指针,即字符串的数组
    2 
    3 qsort(strNum ,lenght ,sizeof(char*), compare);
    4 
    5 int compare(const void* str1 , const void* str2)//传入形参时没有告诉函数具体类型,这里的str1和str2是strNum 数组元素的指针,所以因该是char**类型。
    6 {
    7     return strcmp( *(char**)str1,*(char**)str2 );//先将形参转换成实际类型,然后进行操作,这里是进行解引用,得到字符串值,调用strcmp函数对字符串进行比较。
    8 }
  • 相关阅读:
    洛谷/SPOJ SP3267 题解
    洛谷P3834题解
    洛谷P2607题解
    可持久化0-1Trie树
    反悔贪心
    记录人生第一次面试
    赋值构造函数和赋值运算符
    使用VS2017遇到的一些小问题
    关于C++中extern的简单笔记
    MFC单文档
  • 原文地址:https://www.cnblogs.com/csxcode/p/3725818.html
Copyright © 2011-2022 走看看