第2课:排序(潘)

潘CSP200班

2024-07-03 13:59:49
2024-08-22 22:27:28

信息与公告

1、多条件排序问题

(1)多个数组 + 冒泡排序:能计算交换次数,但n<=10^4
(2)结构体数组 + 自定义sort规则:不能计算交换次数,n<=10^7

2、三种常用排序方法

(1)快速排序:对数组a进行排序。
    sort(a+起始下标, a+结束下标+1);  
    sort(a+起始下标, a+结束下标+1, cmp);
(2)冒泡排序:相邻元素交换。
(3)归并排序:两个有序子数组a和b,有序合并到c。
    merge(a+起始下标, a+结束下标+1, b+起始下标, b+结束下标+1, c+起始下标);

3、排序方法的稳定性

(1)快速排序:不稳定(相同元素的相对顺序不稳定)
(2)冒泡排序:稳定(相同元素的相对顺序稳定)
(3)归并排序:稳定(相同元素的相对顺序稳定)