Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <vector>#include <math.h>using namespace std;int partitionNum (vector<int>& arr, int p, int r,vector<int>& idx){int pivot = arr[r];int temp;int i = p - 1;for (int j = p; j < r; j++){if (arr[j] <= pivot){i = i + 1;temp = arr[i];arr[i] = arr[j];arr[j] = temp;temp = idx[i];idx[i] = idx[j];idx[j] = temp;}}temp = arr[i + 1];arr[i + 1] = arr[r];arr[r] = temp;temp = idx[i+1];idx[i+1] = idx[r];idx[r] = temp;return i + 1;}