快速排序算法 - 非常清晰的一篇文章快速排序的基本思想: 通过一趟排序将待排序的序列分割为左右两个子序列,左边的子序列中所有数据都比右边子序列中的数据小,然后对左右两个子序列继续进行排序,直到整个序列有序。算法图解首先给出一个无序序列[21, 100, 3, 50, 1],选取一个元素为基准元素,一般选择序列第一个元素21作为枢轴,然后设置两个指针,一个low指针指向左侧第一个位置,一个high指针指向右侧最后一个位置。首先取出基准元素21,此时low指向的位置留出一个空位。我们规定,指向空的指针不移动。此时应该操作high指针,如果high指针指向的元素大于基准元素21,那么high指针左移;如果high指针指向的元素小于基准元素21,那么将high指针指向的元素放到low指针指向的空位处。显然,当前high指向的1小于21,所以把1放到low指向的位置,此时high指向为空。high指针指向空,操作low指针,对low指针:如果low指针指向元素小于基准元素21,那么low指针右移;如果low指针指向元素大于基准元素21,那么把low指针指向的元素放到high指向的空位处。