zoukankan      html  css  js  c++  java
  • C++中unique函数

    介绍

    unique是STL比较实用的一个函数。用于“去除”容器内相邻的重复的元素(只保留一个)。这里说的去除并不是真正将容器内的重复元素删去,只是把重复的元素移到容器最后,但是依然在容器内。 对于数组而言返回去重后最后一个元素的指针,而其他容器则是返回去重后最后一个元素的迭代器。

    用法举例

    因为是去除相邻的重复元素,因此通常使用前容器应该要是有序的。

    数组

    #include <iostream>
    #include <algorithm>
    using namespace std;
    int main()
    {
    	int a[6] = {1,1,4,6,6,7};
    	int *p = unique(a,a+6);
    	cout << &a[4] << endl;
    	cout << p << endl;
    	cout << p - a <<endl;
    	for(int i = 0;i < p-a;i++)
    	{
    		cout << a[i] << endl;
    	}
    	return 0;
    }
    
    

    vector

    要想真正去除重复元素还需要使用erase()函数

    #include <iostream>
    #include <algorithm>
    #include <vector> 
    using namespace std;
    int main()
    {
    	vector<int> v;
    	v.push_back(1);
    	v.push_back(1);
    	v.push_back(4);
    	v.push_back(6);
    	v.push_back(6);
    	v.push_back(7);
    	vector<int>::iterator it = unique(v.begin(),v.end());
    	cout<< v.size() <<endl;
    	v.erase(it,v.end());
    	for(it = v.begin();it != v.end();it++)
    	{
    		cout << *it << " ";	
    	} 
    	return 0;
    }
    

  • 相关阅读:
    学习笔记-Bootstrap
    学习笔记-JavaScript
    学习笔记-HTML
    学习笔记-数据库操作
    学习笔记-MATLAB
    学习笔记-mysql基本操作
    学习笔记-Java进阶
    学习笔记-Java入门
    学习笔记-考研英语
    学习笔记-线代
  • 原文地址:https://www.cnblogs.com/multhree/p/10342553.html
Copyright © 2011-2022 走看看