return *(int*)a - *(int*)b;
aの値とbの値は配列の隣接する要素ですか?
4, 2, 3, 6, 3, 2, 1, 3, 5, 7
a=4
b=2
であってるでしょうか?