码迷,mamicode.com
首页 > 其他好文 > 详细

STL

时间:2014-10-19 21:08:16      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:http   os   ar   sp   div   on   问题   ef   bs   

STL

  1. qsort

    intcompare(constvoid*arg1,constvoid*arg2){

       return(*(int*)arg1<*(int*)arg2)?-1: (*(int*)arg1>*(int*)arg2)?1:0;

    }

     

    这是一个和STL没有丝毫关系的传统风格的C++程序。因为程序的注释已经很详尽了,所以不需要我再做更多的解释。总的说来,这个程序看起来并不十分复杂(本来就没有太多功能)。只是,那个compare函数,看起来有点费劲。指向它的函数指针被作为最后一个实参传入qsort函数,qsort是C程序库stdlib.h中的一个函数。以下是qsort的函数原型:

    voidqsort(void*base,size_tnum,size_twidth,int(__cdecl*compare)(constvoid*elem1,constvoid*elem2));

    看起来有点令人作呕,尤其是最后一个参数。大概的意思是,第一个参数指明了要排序的数组(比如:程序中的num),第二个参数给出了数组的大小(qsort没有足够的智力预知你传给它的数组的实际大小),第三个参数给出了数组中每个元素以字节为单位的大小。最后那个长长的家伙,给出了排序时比较元素的方式(还是因为qsort的智商问题)。

     

STL

标签:http   os   ar   sp   div   on   问题   ef   bs   

原文地址:http://www.cnblogs.com/haohaooo/p/4035366.html

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