ntemplate <class
TYPE> //qsort.h
ninline void swap(TYPE
v[], int i, int j) {
n TYPE temp;
n temp = v[i];
n v[i] = v[j];
n v[j] = temp;
n}
ntemplate <class
TYPE>
nvoid qsort(TYPE v[],
int left, int right) {
n if (left < right) {
n swap(v, left, (left+right)/2);
n int last = left;
n for (int i=left+1; i <= right;
++i)
n if (v[i] < v[left])
n swap(v, ++last, i);
n swap(v, left, last);
n qsort(v, left, last-1);
n qsort(v, last+1, right);
n }
}
n