C ++列表的 unique()函数删除list中重复的元素。
void unique(); void unique(BinaryPredicate pred);
pred:unique()函数删除链表中所有重复的元素。如果指定pred,则使用pred来判定是否删除。
bool pred(type1 &x, type2 &y);
它不返回任何值。
让我们看一个简单的实例
#include <iostream> #include<list> using namespace std; int main() { list<char> l1={'j','a','a','v','v','a'}; list<char> ::iterator itr; l1.unique(); for(itr=l1.begin();itr!=l1.end();++itr) std::cout << *itr << " "; return 0; }
输出:
java
让我们看一个简单的示例,将pred函数传递给参数。
#include <iostream> #include<list> using namespace std; bool pred( float x,float y) { return(int(x)==int(y)); } int main() { list<float> l1={12,12.5,12.4,13.1,13.5,14.7,15.5}; list<float> ::iterator itr; l1.unique(pred); for(itr=l1.begin();itr!=l1.end();++itr) std::cout << *itr << ", "; return 0; }
输出:
12 ,13.1,14.7,15.5