【C++】sort函数代替排序代码
C++函数
如何使用一个函数替换掉繁杂的排序代码
sort函数
作为刚学完冒泡排序的C语言新手, 遇到要排序的算法题往往要写一长串的代码去解决排序问题.
- 样例:
do
{
if (j == 10)
{
i++;
j = 0;
}
else if (arr[j] < arr[j + 1])
{
change = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = change;
j++;
}
else
j++;
} while (i < 11);
而这一段代码,只需要一行就能解决!
`sort(arr, arr + 11);`
-
作用:替换掉排序代码
-
使用方法:
sort(数组名称,数组名称 + 数组内元素的个数)
注意:sort默认为从大到小排列 -
拓展方法:
从小到大排列只需要增加一个bool函数bool cmp(int a, int b) { return a < b; } sort(arr, arr + 11,cmp);
这样输出的就是从小到大排列啦!
稍微做一下解释捏🤤
bool函数会判断数组中的两个数(我用a,b来代替)的大小
a < b, 则返回真给sort, sort不交换ab
a > b, 则返回假给sort, sort交换ab如此就完成了sort去代替排序函数的代码啦!
非常简单