1.快速排序
i j同时往中间走,边走边判断若q[i]>x则停下反之继续向右判断,若q[j]<x则停下反之继续向左判断。这样就可以使ij相遇的左边都是小于x的数,右边都是大于x的数。首先定义两个数组a[],b[],遍历q[]中l到r若q[i]<=x则将x插入a数组,若q[i]>x则将x插入b数组。因为要考虑到很多的边界问题,所以还是背个模板更有性价比。下面是在y总那里学到的模板。显而易见这种方法并不优美,我这么优雅的人是绝对不允许我的代码如此暴力的哈哈。:使得第一区间的所有数都大于x,第二区间的所有数都大于等于x。
原创
2024-01-25 00:06:55 ·
471 阅读 ·
0 评论