C++ 快排动态演示 + 伪代码

1、简述

  快速排序(Quicksort)是对冒泡排序算法的一种改进。

  快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
(摘自 百度百科)

2、动图演示

快排动态演示
(摘自 夏海峰-图解十大经典排序算法)
说明:

  1. 如果区域内只有一个数,退出程序,否则进入步骤2;
  2. 以该区域内的第一个数为基准数a(初始区域为所有数);
  3. 将区域内的所有数(除a外)分为两部分:大于(或等于)a的部分G、小于a的部分S,并将S移至G的左边(交换操作伴随着比较操作,即在每个数和a比较的同时考虑是否要将之交换到S部分);
  4. 在划分结束后,交换基准数和S中最右边的数,由此完成:a的左边,全是小于a的数(S),右边全是大于a的数(G);
  5. 在S和G内再执行操作(1-5);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值