クイックソート関数

void Quicksort(int left, int right) {
if (left < right) {
int somewhere = (left + right) / 2;
int pivot = a[somewhere];
a[somewhere] = a[left];
int p = left;
for (int i = left + 1; i <= right; i++) {
if (a[i] < pivot) {
p = p + 1;
swap(p, i);//要素を交換
}
}
a[left] = a[p];
a[p] = pivot;


Quicksort(left, p-1);
Quicksort(p+1, right);
}
}
/*要素を交換*/
void swap(int i, int j) {
int tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}