1. int x = a[r], i = l;
    2. for (int j = l; j < r; ++j) {
    3. if (a[j] <= x) {
    4. swap(a[i++], a[j]);
    5. }
    6. }
    7. swap(a[i], a[r]);
    8. return i;

    先取最后一个元素为pivot,取i为第一个
    将l到r-1的元素都与pivot比较,比pivot小的就进行交换,i和j交换
    最后再把i位置的换到最后,i放pivot。
    返回i。