排序算法:把一组数据按照某个关键字递增或递减的次序进行排列
1、快速排序:sort(a+起始下标, a+结束下标+1); 或自定义规则排序: sort(a+起始下标, a+结束下标+1,cmp);
2、冒泡排序:相邻元素交换
3、归并排序:两个有序子数组a和b,有序合并到c。merge(a+起始下标, a+结束下标+1, b+起始下标, b+结束下标+1, c+起始下标);
// 冒泡排序模板 (采用前后两个元素交换的方式来排序)
for(int i=1; i<=n-1; i++) // 最多n-1趟全部排好
{
for(int j=1; j<=n-1; j++) //相邻元素比较(前面元素的下标 j 的范围:1~n-1)
{
if(a[j]>a[j+1]) // 不满足排序要求则交换(从小到大则>;从大到小则<)
{
swap(a[j],a[j+1]); // 交换
}
}
}