stl的unique算法使用中的常见错误
2009-03-20 11:31
225 查看
stl给程序员提供了很多很好很强大的算法,但美中不足的是各种算法的使用方法不太统一,很容易给初学者造成困惑。比如sort算法,用法如下:
sort(v.begin(), v.end());
对于unique算法,如果像下面这样用:
unique(v.begin(), v.end());
看起来不错,可惜结果是错误的。应该这样用:
v.erase(unique(v.begin(), v.end()), v.end());
道理很简单,unique返回的是不重复的元素和多余元素的分界点。
sort(v.begin(), v.end());
对于unique算法,如果像下面这样用:
unique(v.begin(), v.end());
看起来不错,可惜结果是错误的。应该这样用:
v.erase(unique(v.begin(), v.end()), v.end());
道理很简单,unique返回的是不重复的元素和多余元素的分界点。
相关文章推荐
- 使用boost库serialize序列化map等STL容器的最常见错误——error C2039
- STL(6)-容器的共通能力,各个容器的使用时机,常见算法用法介绍
- 常见错误整理 嵌入式linux使用
- FragmentTabHost使用过程中常见的一个错误
- 黑马程序员——IOS基础之OC---类使用的常见错误汇总
- IOCP使用时常见的几个错误 (转)
- 使用svm的一个常见错误
- stl中auto_ptr,unique_ptr,shared_ptr,weak_ptr四种智能指针使用总结
- Android 使用百度地图SDK 定位和显示基础地图常见错误 locationclient.start()和mapview is null等等
- 使用qq第三方登录常见错误码信息及解决方法
- yum使用过程中的常见错误
- C语言指针使用中的常见错误
- findViewById()使用常见错误
- 用javah 导出类的头文件, 常见的错误及正确的使用方法
- Eclipse的常见使用错误及编译错误
- C++之STL(七):剩下5种算法代码分析与使用示例(remove 、rotate 、sort、lower_bound、accumulate)
- java使用json的时候常见的引包错误
- const_iterator的使用,STL算法----copy(),输出迭代器---ostream_iterator()
- 关于使用STL常见的两个bug
- new和delete的使用与常见错误