关于C++中的一些函数

最近写代码需要用到排序函数,自己水平有限,故使用C++自带的库函数。

sort()定义 :

template<class RanIt>
void sort (RanIt first, RanIt last);


template<class RanIt, class Pred>
void sort (RanIt first, RanIt last, Pred pr);


The first template function reorders the sequence designated by iterators in the
range [first, last) to form a sequence ordered by (page 39) operator< . Thus, the
elements are sorted in ascending order.

reference:Standard  C++   Library  Reference  270页下。

 

第一个模板函数对已知的序列进行排序,其中排序的范围是 [first , last),默认的排序方式是升序。

在这里对范围进行一个说明。因为在网上查关于sort的信息是很多网友只是说范围中第一个参数是排序数据起始地址,

后一个是排序数据的结束地址,这里有点不太好理解。更具体的说法是:first指向需要排序的数据的起始单元,last指向

需要排序的数据的最后一个数据的下一个数据,这个数据不参与排序。last是不包含在排序范围内的(左闭右开)。

具体而言就是:

int  data[M] = ***;

sort(data , data + M);//对data[M]中的所有数据进行排序

或者sort(&data[0] , &data[M]);//注意数组data[M]的最后一个数据是data[M - 1],data[M]并不属于data[M]

 

posted @ 2015-04-17 08:14  jiahu  阅读(176)  评论(0编辑  收藏  举报