一些有用的小函数整理
2015-02-06 23:49
120 查看
1.unique函数
unique()函数是一个去重函数,STL中unique的函数 unique的功能是去除相邻的重复元素(只保留一个),还有一个容易忽视的特性是它并不真正把重复的元素删除。他是c++中的函数,在头文件要加algorithm中,具体用法如下:
int num[100];
unique(num,mun+n)返回的是num去重后的尾地址,之所以说比不真正把重复的元素删除,其实是,该函数把重复的元素一到后面去了,然后依然保存到了原数组中,然后返回去重后最后一个元素的地址,因为unique去除的是相邻的重复元素,所以一般用之前都会要排一下序。
2.lower_bound函数
lower_bound()返回一个 iterator 它指向在[first,last)标记的有序序列中可以插入value,而不会破坏容器顺序的第一个位置,而这个位置标记了一个不小于value 的值,原理为二分查找。
调用形式为 lower_bound(a,a+n,val);
第一个版本
例如,有如下序列:
ia[]={12,15,17,19,20,22,23,26,29,35,40,51};
用值21调用lower_bound(),返回一个指向22的iterator。用值22调用lower_bound(),也返回一个指向22的iterator。第一个版本使用底层的 < (小于)操作符,第二个版本根据comp进行排序和比较。
注意事项
调用lower_bound之前必须确定序列为有序序列,否则调用出错。第一个版本排序根据底层的 <(小于)操作符,第二个版本根据comp进行排序。
3.nth_element()函数
nth_element顾名思义就是找到一段连续的区间内第n大的数,调用方式为nth_element(array,array+n,array+len);无返回值,函数将第n大的数放在了n这个位置。函数的实现方法应该是线性时间选择。
unique()函数是一个去重函数,STL中unique的函数 unique的功能是去除相邻的重复元素(只保留一个),还有一个容易忽视的特性是它并不真正把重复的元素删除。他是c++中的函数,在头文件要加algorithm中,具体用法如下:
int num[100];
unique(num,mun+n)返回的是num去重后的尾地址,之所以说比不真正把重复的元素删除,其实是,该函数把重复的元素一到后面去了,然后依然保存到了原数组中,然后返回去重后最后一个元素的地址,因为unique去除的是相邻的重复元素,所以一般用之前都会要排一下序。
2.lower_bound函数
lower_bound()返回一个 iterator 它指向在[first,last)标记的有序序列中可以插入value,而不会破坏容器顺序的第一个位置,而这个位置标记了一个不小于value 的值,原理为二分查找。
调用形式为 lower_bound(a,a+n,val);
第一个版本
template<classForwardIterator,classT> ForwardIteratorlower_bound(ForwardIteratorfirst,ForwardIteratorlast, constT&val);
例如,有如下序列:
ia[]={12,15,17,19,20,22,23,26,29,35,40,51};
用值21调用lower_bound(),返回一个指向22的iterator。用值22调用lower_bound(),也返回一个指向22的iterator。第一个版本使用底层的 < (小于)操作符,第二个版本根据comp进行排序和比较。
注意事项
调用lower_bound之前必须确定序列为有序序列,否则调用出错。第一个版本排序根据底层的 <(小于)操作符,第二个版本根据comp进行排序。
3.nth_element()函数
nth_element顾名思义就是找到一段连续的区间内第n大的数,调用方式为nth_element(array,array+n,array+len);无返回值,函数将第n大的数放在了n这个位置。函数的实现方法应该是线性时间选择。
相关文章推荐
- VB2005编写外接程序的一些有用函数
- 一些有用的ABAP程序和函数组
- 整理一些有用的网页(原创)
- 一些有用的ABAP程序和函数组
- XPATH中一些有用的函数
- 一些有用的函数
- ASP的一些自定义函数整理第1/2页
- 一些有用的ABAP程序和函数组
- C#的一些常用函数(收集整理)
- 一些有用的ABAP程序和函数组
- 收集整理的一些有用的SQL/T-SQL语句!
- 一些个人整理的,比较有用的东西
- MFC下的图形设别接口CDC类的一些有用的函数
- 一些有用的函数
- 从TSYS通用函数库中提取出了一些有用的函数
- C++中的文件输入/输出(6):一些有用的函数
- 一些有用的javascript小函数
- 整理一些我经常用到的函数吧(不断更新)
- 一些存储概念自己有用需要封装内存分配函数是了解
- ASP的一些自定义函数整理第1/2页