stl的unique算法使用中的常见错误

        stl给程序员提供了很多很好很强大的算法,但美中不足的是各种算法的使用方法不太统一,很容易给初学者造成困惑。比如sort算法,用法如下:

       sort(v.begin(), v.end());

       对于unique算法,如果像下面这样用:

       unique(v.begin(), v.end());

       看起来不错,可惜结果是错误的。应该这样用:

       v.erase(unique(v.begin(), v.end()), v.end());

 

       道理很简单,unique返回的是不重复的元素和多余元素的分界点。

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页