快速排序

来源:互联网 发布:阿里云设置MX 编辑:程序博客网 时间:2024/05/16 10:03

快速排序:

假设有n个数

     à大       ß小

例如:3  4  1  8  2

           i               j

设一个基准数temp=a[0];

i从a[0]开始,j从a[n-1]开始;

从j先向左移动,只要找到比temp小的数,就停下;

然后i向右移动,只要遇到比temp大的数,就停下;

就交换a[i]和a[j]的位置;

 3  2  1 8  4

    i         j

然后重复以上步骤;

3  1 2  8  4

   i   j

2  1 3  8  4

      ij

然后i移动,当i==j时,把a[i]和数组头交换;

(2  1) 3 (8  4)

  i   j       i  j

temp=2   ij temp=8

a[j]<a[i],则交换位置

(1  2) 3 (4  8)

  i   j       i  j

就是这么简单!

0 0
原创粉丝点击