用户:
神射手会记事本查看:3 回复:1 评论:3 创建时间:2023-05-03T12:00:42
什么是排序
排序,顾名思义是将一堆数据排列成有序的
例如把[3,1,4,5,1,4,9,2,6]
扔进排序算法里就能排列成有序的组合(以下排序皆为按从小到大的顺序排序)[1,1,2,3,4,4,5,6,9]
在算法的海洋里存在着许多排序的算法
例如前面提到的冒泡
还有快速排序、归并排序、堆排序、希尔排序、计数排序、桶排序等等
然而有人可能要说:“明明一个算法就够用了,为什么还要有这么多算法呢?”
就像有人喜欢黑的,有人喜欢白的,也有人喜欢无添加的
仅仅巧克力而言就有如此多的选择
更何况是算法
各个算法有各自的优势
比如计数排序,在数据分配均匀的情况下速度可以达到线性的时间复杂度
另外
排序分为稳定排序和不稳定排序
例如下面的输入
[4,1,1,5]
稳定排序 [1,1,4,5]
不稳定排序[1,1,4,5]
看得出有什么变化吗
稳定排序的第一个1排序过后始终是第一个
不稳定排序的第一个1排序过后就不是第一个了
稳定排序排序前后两个相等的数相对位置不变
不稳定排序排序前后两个相等的数相对位置发生了变化
今天我要给大家看看c++的排序函数,直接上代码!
#include <(万能头文件)>
using namespace std;
int (主函数)
{
int a[100],n;//数据大小仅作演示,以实际需要为准
cin >>n;
//输入a[i] 1~n
sort(a +1,a+1+n);
//输出a[i] 1~n
return 0;
}
本次讲解结束,谢谢观看!