#include<stdio.h>
#include<cmath>
using namespace std;
int partition(int *a, int low, int high)
{
int pos = a[low];
while(low < high)
{
while(low<high && pos<=a[high])
high--;
a[low] = a[high];
while(low<high && pos>=a[low])
low++;
a[high] = a[low];
}
a[low] = pos;
return low;
}
void Qsort(int *a, int low, int high)
{ if(low < high)
{
int pos = partition(a, low, high);
Qsort(a, low, pos-1);
Qsort(a, pos+1, high);
}
}
int main()
{
int a[] = {0,-9,3,7,-5,4};
Qsort(a, 0, 5);
for(int j=0; j<6; j++)
printf("%d\n", a[j]);
int i = 1;
int min = abs(a[0]-a[1]);
for(; i<5; i++)
{
if(min > abs(a[i]-a[i+1]))
min = abs(a[i]-a[i+1]);
}
min = abs(a[i]-a[i+1]);
}
printf("min = %d\n", min);
return 0;
}