int a[1000];
void qs_min(int left, int right) {
int i= left, j= right, base, temp;
if (left > right)
return;
base = a[left];
while (i < j)
{
while (a[j] >= base && i < j)
j--;
while (a[i] <= base && i < j)
i++;
if (i < j)
{
temp = a[j];
a[i] = a[j];
a[j] = temp;
}
}
a[left] = a[i];
a[i] = base;
qs_min(left, i - 1);
qs_min(i + 1,right);
}
void qs_max(int left, int right) {
if (left >= right)
return;
int i=left, j=right, base, temp;
base = a[left];
while (i < j)
{
if (a[j] <= base && i < j)
j--;
if (a[i] >= base && i < j)
i++;
if (i < j) {
temp = a[j];
a[j] = a[i];
a[i] = temp;
}
}
a[left] = a[i];
a[i] = base;
qs_max(left, i - 1);
qs_max(i+1,right);
}