coreBugZJ

此 blog 已弃。

C 语言 qsort 排序 字符串数组

 1#include <stdio.h>
 2#include <stdlib.h>
 3#include <string.h>
 4
 5#define  N  100
 6#define  L  100
 7
 8int n;
 9char str[ N ][ L ];
10
11int cmp( const void *a, const void *b ) {
12        return strcmp( ((const char*)a), ((const char*)b) );
13}

14
15int main() {
16        int i;
17
18        scanf( "%d"&n );
19        if ( 1 > n ) {
20                return 0;
21        }

22        for ( i = 0; i < n; ++i ) {
23                scanf( "%s", str[ i ] );
24        }

25
26        qsort( str, n, sizeof(str[ 0 ]), cmp );
27
28        printf( "\n\n" );
29        for ( i = 0; i < n; ++i ) {
30                printf( "%s\n", str[ i ] );
31        }

32
33        scanf( "%*c%*c" );
34
35        return 0;
36}

37


qsort 其实不认识数据类型的,只认数组元素大小与内存布局,由自定义比较函数来做比较。

posted on 2011-10-27 23:08 coreBugZJ 阅读(841) 评论(0)  编辑 收藏 引用 所属分类: ProgrammingLanguage


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理