编写input output()、sort()、output(),分别实现数组元素的输入,数组元素的排序(升序)和数组元素的输出

使用sort排序结构体网上例子很多的 僦是先写一个排序函数

然后让sort按照你的函数排序就行了

STL 里面有个 sort 函数可以直接对数组排序,复杂度为 n*log2(n) 使用这个函数,需要包含头文件

这个函数可以传两个参数或三个参数。第一个参数是要排序的区间首地址第二个参数是区间尾地址的下一地址。也就是说排序的区間是 [a,b) 。简单来说有一个数组 int a[100] ,要对从 a[0] 到 a[99] 的元素进行排序只要写 sort(a,a+100) 就行了,默认的排序方式是升序

如果是没有定义小于运算的数据类型,或者想改变排序的顺序就要用到第三参数——比较函数。比较函数是一个自己定义的函数返回值是 bool 型,它规定了什么样的关系才是“小于”想把刚才的整数数组按降序排列,可以先定义一个比较函数 cmp

假设自己定义了一个结构体 node

有一个 node 类型的数组 node arr[100] 想对它进行排序:先按 a 值升序排列,如果 a 值相同再按 b 值降序排列,如果 b 还相同就按 c 降序排列。就可以写这样一个比较函数:

}

我要回帖

更多关于 input output 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信