码迷,mamicode.com
首页 > 编程语言 > 详细

模仿qsort() 实现一个通用排序函数:msort()

时间:2017-04-01 13:31:08      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:字节   生成   png   大小   http   模块   数组   ons   中间   

github:  https://github.com/youker-lxy/msort

 

截图:

技术分享

对测试模块不是很了解,以下测试函数未实现:

test_msort.c  测试 msort.c 的所有函数
test_generate_data.c  测试 generate_data.c 的所有函数

  程序中只产生了int类型的随机数据并排序,未进行其他类型的排序。

总结:

  1 通用排序函数实现:

    qsort()采用快排算法,传入参数为:数组首地址, 左侧下标, 右侧下标, 数组元素大小,  以及传入一个自定义比较函数的指针cmp,传入swap()和cmp()的两个参数都是const void 类型的指针, 是实现通用排序的关键。比如swap()时, 以数组元素大小为范围,从两个元素首地址处,逐个字节进行交换,而不用考虑元素类型。

  2 makefile的学习使用:

    为了实现,只是简单学习了如何编写makefile文件,并在该目录下直接输入命令 make 就可以生成目标执行文件。如果要删除执行文件和所有的中间目标文件,那么,只要简单地执行一下 make clean 就可以了。

    模板如下: 

    target ... : prerequisites ...
        command
        ...
      ...
    target
  可以是一个object file(目标文件),也可以是一个执行文件,还可以是一个标签(label)。对于标签这种特性,在后续的“伪目标”章节中会有叙述。
    prerequisites
  生成该target所依赖的文件和/或target
    command
  该target要执行的命令(任意的shell命令)
  在makefile中,目标文件(target)包含:目标执行文件和中间目标文件( *.o ),依赖文件(prerequisites)就是冒号后面的那些 .c 文件和 .h 文件。每一个 .o 文件都有一组依赖文件,而这些 .o 文件又是目标执行文件的依赖文件。
  

 

模仿qsort() 实现一个通用排序函数:msort()

标签:字节   生成   png   大小   http   模块   数组   ons   中间   

原文地址:http://www.cnblogs.com/youker-bz/p/6655540.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!