今天在写程序的时候,需要去除vector中的重复元素,想到unique,就顺手写了bis.erase(unique(bis.begin, bis.end()) bis.end()),但是调试发现并没有按照我的意图执行,查书之后发现unique只能检测相邻的重复元素,所以之前应该先对vector进行排序,这里有一点需要注意,vector没有sort成员函数(list有sort成员函数),只能调用泛型算法sort,重写代码后,运行正确。

Demo Code
1 sort(bis.begin(), bis.end());
2 bis.erase(unique(bis.begin(), bis.end()), bis.end());
posted on 2011-07-04 23:15  大豆熊  阅读(2049)  评论(0)    收藏  举报