Example #1
0
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;
}
Example #2
0
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);
    }
}
Example #3
0
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);
    }
}
Example #4
0
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);

}
Example #5
0
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);
    }
}
Example #6
0
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("");
	}
}