qsort快速排序
2014-12-17 11:22
281 查看
非常使用的快速排序算法,不稳定排序
#include<stdio.h> #include<stdlib.h> /* * qsort invoke this function */ int compare_integers( void const *a, void const *b ) { register int const *pa = a; register int const *pb = b; return *pa > *pb ? 1 : *pa < *pb ? -1 : 0; // cool ! } int main( int argc, char *argv[] ) { int *array; int n_values; int i; /* * see how many values there */ printf( "How many values there?\n" ); if( scanf( "%d", &n_values) == EOF || n_values <= 0 ){ printf( "Illegal number of values.\n" ); exit( EXIT_FAILURE ); } /* * allocate mem to store the values */ array = malloc( n_values * sizeof( int ) ); if( array == NULL ){ printf( "can't get mem for that values!\n" ); exit( EXIT_FAILURE ); } /* * load these numbers */ for( i = 0; i < n_values; ++i ){ printf("? "); if( scanf( "%d", array + i ) == EOF ){ printf( "error reading value #%d\n", i ); free( array ); exit( EXIT_FAILURE ); } } /* * sort for these values */ qsort( array, n_values, sizeof( int ), compare_integers ); /* * print the result */ printf( "\nThe result is as follows:\n" ); for( i = 0; i < n_values; ++i ){ printf( "%d\n", array[i] ); } free( array ); exit( 0 ); }
相关文章推荐
- 快速排序~sort&qsort的用法~以C++
- 重温排序之快速排序(qsort)
- c语言调用库函数qsort()进行快速排序
- qsort快速排序用法--完整版(解释了cmp)【转】
- qsort快速排序
- [C/C++基础知识] 一篇就让你彻底搞懂qsort快速排序的文章
- C语言qsort快速排序
- 手写的qsort快速排序
- 通过qsort实现快速排序
- qsort 快速排序
- qsort快速排序的实现
- qsort()编译器自带快速排序的用法
- qsort 使用快速排序例程进行排序
- 使用qsort()和bsearch()进行快速排序和折半查找
- 利用qsort() 对字符串的内容快速排序
- qsort快速排序的整理
- qsort快速排序
- C语言下使用快速排序qsort
- 使用qsort进行快速排序
- 简单的快速排序 qsort