#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
size_t count = 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]);
count++;
}
}
}
for (size_t i = 0; i < n; ++i) {
printf("swap count: %zu\n", count
); }
// your code goes here
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgY21wKGludCB4LCBpbnQgeSkgLy8gY29tcGFyZSB4IGFuZCB5CnsKcmV0dXJuIHggPiB5OyAvLyAxIGlmIHggPiB5LCAwIG90aGVyd2lzZQp9Cgp2b2lkIHN3YXAoaW50ICp4LCBpbnQgKnkpCnsKaW50IHRtcCA9ICp4OwoKKnggPSAqeTsKKnkgPSB0bXA7Cn0KCmludCBtYWluKHZvaWQpIHsKCmludCBhW10gPSB7MywgMSwgNCwgMSwgNSwgOSwgMiwgNiwgNX07IC8vIGFycmF5IHRvIGJlIHNvcnRlZApzaXplX3QgbiA9IHNpemVvZiBhIC8gc2l6ZW9mIGFbMF07IC8vIG51bWJlciBvZiBlbGVtZW50cwpzaXplX3QgY291bnQgPSAwOwpmb3IgKHNpemVfdCBpID0gMDsgaSA8IG4gLSAxOyArK2kpIHsKZm9yIChzaXplX3QgaiA9IDA7IGogPCBuIC0gMSAtIGk7ICsraikgewogICAgIGlmKGNtcChhW2pdLGFbaisxXSkpewogICAgICAgIHN3YXAoJmFbal0sJmFbaisxXSk7CiAgICAgICAgY291bnQrKzsKICAgICAgIH0KICAgICAgfQogICAgIH0KZm9yIChzaXplX3QgaSA9IDA7IGkgPCBuOyArK2kpIHsKcHJpbnRmKCIlZCAiLCBhW2ldKTsKcHJpbnRmKCJzd2FwIGNvdW50OiAlenVcbiIsIGNvdW50KTsKfQpwcmludGYoIlxuIik7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglyZXR1cm4gMDsKfQo=