1.首先思考清楚有几个模块:排序模块,主体结构体模块,输出模块
排序声明模块,下面的是枚举模块,方便一会做动态排序用.
以上是排序函数,BOOL类型的是动态排序中的动态功能实现,每一个都有不同的作用.具体作用请看第二张图.
![](http://img1.ph.126.net/bK08W63zQA2TDxxLbJ1zNA==/6598153885181991973.png)
以上是名为老师的结构体,简化名字为Teac,结构体内有五个成员,名字
,性别,年龄,Id,和评分.
![](http://img1.ph.126.net/B0fd_N81RVB4q1NC1b0pFg==/6598149487135480918.png)
![](http://img2.ph.126.net/VCsQf5QnAAfGwiGUyWsxcA==/4906108844167056557.png)
输出部分:上面是声明,下面是函数实现;
接下来是动态排序的要点:
这些代码主要是实现按照某种规则进行排序的,比如CompareNameByAscending是按照名字进行升序排列,switch语句是根据上方的枚举进行编写的.通过指针p选取内容输入到下方的if语句里,做成函数回调.即可实现动态排序.