Quick(int left,int right)
{ /*クイックソートを行う*/
int i,t,m;
t=Choice(left, right); /*基準値を選ぶ*/
swap(&data[left], &data[t]);
m=left;
for (i=left; i<right; i++){
if (data[i+1]<data[left]) { /*基準値よりも小さい場合*/
swap(&data[i+1], &data[m+1]);
m++;
}
}
swap(&data[left], &data[m]); /*基準値をmに挿入*/
if (m-left>1) {
Quick(left, m-1);
}
if (right-m>1) {
Quick(m+1, right);
}
}