前言
本文主要是描述快速排序算法主要步骤
一、快速排序是什么?
快速排序是对冒泡排序的一种改进,是一种被广泛使用的排序方法。
二、算法排序方法
1.找出基准数
基准数就是数列中的第一个数:
6 1 2 5 9 3 4 7 10 8
2.在数组两端设置两个指针 i j(i在左 j在右)
j先出发向左,找出比基准数小的数停止,i再向右,找出比基准数大的数停止,i j指向的数交换位置。
特殊情况 i j都没有找到数值然后相遇,那么把 i j 所指向的数和基准数交换。(原因:j找比基准数小的数实际上是将小于基准数的放在基准数左边,同理,i寻找比基准数大的是将大于基准数的放在记住数右边,这样每次交换的时候就不会只能在相邻的数之间进行交换,增大了交换的距离)
6 1 2 5 9 3 4 7 10 8
j指向’4’ , i指向’9’ 交换
6 1 2 5 4 3