【作业】第10课:排序

潘CSP200班

2024-03-09 11:03:00
2024-04-07 11:33:00

信息与公告

排序算法:把一组数据按照某个关键字递增或递减的次序进行排列
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]);  // 交换
		}
	}
}