赞
踩
1. 定义结构体
- #define MAXSIZE 10000
-
- struct FileInfo
-
- {
-
- char *fname;
-
- long file_size;
-
- }filesInfo[MAXSIZE];
2. 定义comp函数
- int comp(const void* index_p, const void* index_f)
-
- {
-
- struct FileInfo *index_pp = (struct FileInfo *)index_p;
-
- struct FileInfo *index_ff = (struct FileInfo *)index_f;
-
- return ((index_pp->file_size)-(index_ff->file_size)); // 升序
-
- // return ((index_ff->file_size)-(index_pp->file_size)); //降序
-
- }
3. 调用封装好的排序函数
qsort()函数是 C 库中实现的快速排序算法,包含在 stdlib.h
头文件中。
函数原型为:
void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))
qsort(filesInfo, file_count, sizeof(filesInfo[0]),comp);
base 指向要排序的数组的第一个元素的指针。
nitems由 base 指向的数组中元素的个数。
size -- 数组中每个元素的大小,以字节为单位。
compar -- 用来比较两个元素的函数。
4. 结果展示
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。