我们已经学过冒泡排序,但是这个算法的速度比较慢。快速排序采用的思想是分治思想。
算法原理:
1.从待排序的n个元素中任意选取一个元素(通常选取第0个元素)为分区的基准元素;
2.把所有小于该基准元素的都放到左边,把所有大于该基准元素的都放到右边,把等于该基准元素的都放在中间;
3.然后对前后的较大元素组成的列表和较小元素组成的列表分别重复上述过程,直到所有元素都排好序。
less = [m for m in nums[1:] if m < base_value]
是for循环的升级写法,相当于
less = [ ]
for m in nums[1:]:
if m < base_value:
less.append[m]
| 留言与评论(共有 0 条评论) “” |