#include <stdio.h>
void bsort(int *b, int *e) {
int *p, t;
for (; 2 <= e - b; b++)
for (p = e - 1; b < p; p--)
if (p[0] < p[-1]) t = p[-1], p[-1] = p[0], p[0] = t;
}
void p(const int *b, const int *e) {
for (;b
< e
; b
++) printf("%d ", *b
); }
int main() {
int a[] = {3, 2, 1, 0}, *e = a + sizeof a / sizeof *a;
p(a, e), bsort(a, e), p(a, e);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CnZvaWQgYnNvcnQoaW50ICpiLCBpbnQgKmUpIHsKICBpbnQgKnAsIHQ7CiAgZm9yICg7IDIgPD0gZSAtIGI7IGIrKykKICAgIGZvciAocCA9IGUgLSAxOyBiIDwgcDsgcC0tKQogICAgICBpZiAocFswXSA8IHBbLTFdKSB0ID0gcFstMV0sIHBbLTFdID0gcFswXSwgcFswXSA9IHQ7Cn0Kdm9pZCBwKGNvbnN0IGludCAqYiwgY29uc3QgaW50ICplKSB7CiAgZm9yICg7YiA8IGU7IGIrKykgcHJpbnRmKCIlZCAiLCAqYik7CiAgcHV0cygiIik7Cn0KaW50IG1haW4oKSB7CiAgaW50IGFbXSA9IHszLCAyLCAxLCAwfSwgKmUgPSBhICsgc2l6ZW9mIGEgLyBzaXplb2YgKmE7CiAgcChhLCBlKSwgYnNvcnQoYSwgZSksIHAoYSwgZSk7CiAgcmV0dXJuIDA7Cn0K