当前位置: 代码迷 >> 综合 >> v.erase(); 删除 vector 重复元素
  详细解决方案

v.erase(); 删除 vector 重复元素

热度:65   发布时间:2023-12-06 05:15:10.0

//for( it=v.begin()+1;it!=v.end(); )
{                                   if( *(it-1)==*(it) )    it=c.erase( it );else                    it++;
}c.erase(); return 指向 被删元素 下一个位置的 迭代器

// eg.
#include<bits/stdc++.h>
using namespace std;vector<int> v;
vector<int>::iterator it;int main()
{int x,i;while( ~scanf("%d",&x) && x ) v.push_back(x);sort( v.begin(),v.end() );for( it=v.begin()+1;it!=v.end(); ){if( *(it-1)==*(it) )    it=v.erase(it);else                    it++;}for( auto i:v ) printf("%d ",i);printf("\n");return 0;
}

  相关解决方案