观qsort函数

今天闲着没事,从仓库中挖出一份古董看看

image

看到一些之前没有注意到的东西,比如qsort函数。

百度一下,太巧妙了。之前我研究指针时看到scanf函数,觉得实现它很精妙,这次看到的qsort更上一层楼,不仅是多重指针,也有指针函数。

之前我在谭老师的书上看到一个例子,使用指针函数实现对复杂计算的复用。

我曾经看到过有个牛人利用指针实现OO的一些基本功能,甚至是配合宏实现编译之前的所有特性。当然对于OO运行时指定的特性是没有机会了。。。

回头说这个函数虽然简陋一点,但是实现排序挺简单的,方便用于要求不高的场合,或者是对其进行二次开发,比如整体采用堆排序,局部采用它等等。

例子之类的可以看我的前一条帖子,qsort函数使用手册。

还有一个比较基本的查找函数:

bsearch

语法:

#include <stdlib.h> void *bsearch( const void *key, const void *buf, size_t num, size_t size, int (*compare)(const void *, const void *) );

功能: 函数用折半查找法在从数组元素buf[0]到buf[num-1] 匹配参数key。如果函数compare 的第一个参数小于第二个参数,返回负值;如果等于返回零值;如果大于返回正值。数组buf 中的元素应以升序排列。函数bsearch()的返回值是指向匹配项,如果没有发现匹配项,返回NULL。

基本一样,也是方便扩展。

相比C++的那些强悍的库,这两个的确比较菜,但是我想大多数人都会忽略它们。假如你的程序,不是要求非常高的。。。

就这些啦。主要是废话。。。

你可能感兴趣的:(函数,职场,休闲,qsort)