快速排序
排序在各种场合经常被用到。
快速排序是十分常用的高效率的算法。
其思想是:先选一个“标尺”,
用它把整个队列过一遍筛子,
以保证:其左边的元素都不大于它,其右边的元素都不小于它。
这样,排序问题就被分割为两个子区间。
再分别对子区间排序就可以了。
主要思想:先选择第一个数字作为标尺,然后分别从第二个数字往右找,找到比第一个数大的数,和从倒数第一个数字往左找,找到比第一个数小的数,然后将找到的两个数进行交换,一直下去,知道j
#include <cstdio>
#include<iostream>
using namespace std;
void swap(int a[], int i, int j)
{
int t = a[i];
a[i] = a[j];
a[j] = t;
}