inline void print_sort(int x) { int i; if (x == n) { indent(x); printf("writeln("); var2(); puts(")"); return; } p[x] = x; for (i = x; i; i--) { p[i] = x; indent(x); if (i == x) printf("if %c < %c then\n", 'a' + p[i-1], 'a' + p[i]); else printf("else if %c < %c then\n", 'a' + p[i-1], 'a' + p[i]); print_sort(x+1); p[i] = p[i-1]; } p[0] = x; if (x) { indent(x); puts("else"); } print_sort(x+1); for (i = 0; i < x; i++) p[i] = p[i+1]; return; }
void random_quick_sort(vector<int> &array, int l, int r) { if (l < r) { int i = random_adjust_array(array, l, r); print_sort(array); random_quick_sort(array, l, i - 1); random_quick_sort(array, i + 1, r); } }
void quick_sort(vector<int> array, int l, int r) { if (l < r) { int i = adjust_array(array, l, r); print_sort(array); quick_sort(array, l, i - 1); quick_sort(array, i + 1, r); } }
int main() { int a[] = {5,9,7,6,1,8,13,4}; int len = sizeof(a)/sizeof(a[0]); select(a, len); print_sort(a, len); }
void heap_sort(vector<int> &array, int size) { int i; build_heap(array, size); for (i = size; i >= 1; i--) { swap(array[1], array[i]); heap_adjust(array, 1, i - 1); print_sort(array); } }
int main() { int t; for (scanf("%d",&t); t; t--) { scanf("%d",&n); puts("program sort(input,output);\nvar"); var(); printf(" : integer;\nbegin\n readln("); var(); puts(");"); print_sort(0); puts("end."); if (t>1) puts(""); } }