| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> C++学习笔记之qsort函数 -> 正文阅读 |
|
[数据结构与算法]C++学习笔记之qsort函数 |
? 一、qsort()函数 原型:_CRTIMP void __cdecl qsort (void*, size_t, size_t,int (*)(const void*, const void*)); 需要四个参数:待排序数组首地址;数组中待排序元素数量;各元素的占用空间的大小;指向函数的指针,用于确定排序的顺序。 时间复杂度为O(n*logn)。在qsort加入比较函数可以让qsort更有通用性 可以比较数组字符串和结构体; 如int cmp(const void *a, const void *b)中有两个元素作为参数(参数的格式不能变的。)返回一个int值,如果比较函数返回大于0,qsort就认为a > b,返回小于0,qsort就认为a < b。 cmp函数按照不同类型进行不同定义 :int
char
其它类型基本类型同理; 但结构体类型参照下文代码!? 实现:有N个学生的数据,将学生数据按成绩高低排序,如果成绩相同则按姓名字符的字母排序,如果姓名的字母序也相同,则按照学生的年龄排序,并输出N个学生排序后的信息。 struct Stud {char name[20];? int age;?int score;}; 1.定义结构体类型 2.定义输出结构体函数 3.定义一个cmp函数用来实现数组的排序:实现这个功能需要cmp函数进行三级排序,首先是对成绩的高低经行升序(降序)排列,成绩相同时按照年龄进行升序(降序排列),如果年龄也相同则按照名字的来进行排序 代码实现如下:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 8:51:56- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |