#include <stdlib.h>
#include <stdio.h>
int even_order( const void *first_arg, const void *second_arg )
{
int first = *(int*)first_arg;
int second = *(int*)second_arg;
if ( first < second )
{
return -1;
}
else if ( first == second )
{
return 0;
}
else
{
return 1;
}
}
int main()
{
int array[5];
int i;
/* fill array */
for ( i = 0; i < 5; i++ )
{
array[ i ] = 10 - 2 * i;
}
qsort( array
, 5 , sizeof( int ), even_order
); for ( i = 0; i < sizeof(array)/sizeof(int); i++ )
{
printf ( "%d\n" ,array
[ i
] ); }
return 0;
}
I2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RkaW8uaD4KIAogCmludCBldmVuX29yZGVyKCBjb25zdCB2b2lkICpmaXJzdF9hcmcsIGNvbnN0IHZvaWQgKnNlY29uZF9hcmcgKQp7CiAgICBpbnQgZmlyc3QgPSAqKGludCopZmlyc3RfYXJnOwogICAgaW50IHNlY29uZCA9ICooaW50KilzZWNvbmRfYXJnOwogICAgaWYgKCBmaXJzdCA8IHNlY29uZCApCiAgICB7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfQogICAgZWxzZSBpZiAoIGZpcnN0ID09IHNlY29uZCApCiAgICB7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgcmV0dXJuIDE7CiAgICB9Cn0KIAppbnQgbWFpbigpCnsKICAgIGludCBhcnJheVs1XTsKICAgIGludCBpOwogICAgLyogZmlsbCBhcnJheSAqLwogICAgZm9yICggaSA9IDA7IGkgPCA1OyBpKysgKQogICAgewogICAgICAgIGFycmF5WyBpIF0gPSAxMCAtIDIgKiBpOwogICAgfQogICAgcXNvcnQoIGFycmF5LCA1ICwgc2l6ZW9mKCBpbnQgKSwgZXZlbl9vcmRlciApOwogICAgZm9yICggaSA9IDA7IGkgPCBzaXplb2YoYXJyYXkpL3NpemVvZihpbnQpOyBpKysgKQogICAgewogICAgICAgIHByaW50ZiAoICIlZFxuIiAsYXJyYXlbIGkgXSApOwogICAgfQogICAgcmV0dXJuIDA7Cn0=