#include <stdio.h>
int cmp(int x, int y) // compare x and y
{
return x < y; // 1 if x > y, 0 otherwise
}
void swap(int *x, int *y)
{
int tmp = *x;
*x = *y;
*y = tmp;
}
int main(void)
{
int a[] = {3, 1, 4, 1, 5, 9, 2, 6, 5}; // array to be sorted
size_t n = sizeof a /sizeof a[0]; // number of elements
int swap_count=0;
int count2=0;
for (size_t i = 0; i < n - 1; ++i) {
for (size_t j = 0; j < n - 1 - i; ++j) {
if (cmp( a[j] , a[j+1] )) {
swap(&a[j] ,&a[j+1] );
swap_count ++;
count2++;
}
}
if (count2==0)
break;
count2=0;
}
for (size_t i = 0; i < n; ++i) {
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgogaW50IGNtcChpbnQgeCwgaW50IHkpIC8vIGNvbXBhcmUgeCBhbmQgeQogewogcmV0dXJuIHggPCB5OyAvLyAxIGlmIHggPiB5LCAwIG90aGVyd2lzZQogfQoKdm9pZCBzd2FwKGludCAqeCwgaW50ICp5KQogewogCQogaW50IHRtcCA9ICp4OwoKICp4ID0gKnk7CiAqeSA9IHRtcDsKCiB9CgogaW50IG1haW4odm9pZCkKIHsKIGludCBhW10gPSB7MywgMSwgNCwgMSwgNSwgOSwgMiwgNiwgNX07IC8vIGFycmF5IHRvIGJlIHNvcnRlZAogc2l6ZV90IG4gPSBzaXplb2YgYSAvc2l6ZW9mIGFbMF07IC8vIG51bWJlciBvZiBlbGVtZW50cwppbnQgc3dhcF9jb3VudD0wOwppbnQgY291bnQyPTA7CgogZm9yIChzaXplX3QgaSA9IDA7IGkgPCBuIC0gMTsgKytpKSB7CiBmb3IgKHNpemVfdCBqID0gMDsgaiA8IG4gLSAxIC0gaTsgKytqKSB7CiBpZiAoY21wKCBhW2pdICwgYVtqKzFdICkpIHsKIHN3YXAoJmFbal0gLCZhW2orMV0gKTsKIHN3YXBfY291bnQgKys7CiBjb3VudDIrKzsKIH0KIH0KIGlmIChjb3VudDI9PTApCiAgIGJyZWFrOwogY291bnQyPTA7CiB9CgoKCiBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG47ICsraSkgewogcHJpbnRmKCIlZCAiLCBhW2ldKTsKIH0KIHByaW50ZigiXG4iKTsKcHJpbnRmKCIlZCIsc3dhcF9jb3VudCk7CiByZXR1cm4gMDsKIH0=