【map&list】int型数据处理之 桶放置
发布时间:2020-12-14 03:04:26 所属栏目:大数据 来源:网络整理
导读:?? MUTC中自己手敲的一个记录sequence中int型出现位置模板 #include map#include list#include cmath #include cctype#include cstdio#include string#include memory#include cstdlib#include cstring#include utility#include iostream#include algorithmu
??
MUTC中自己手敲的一个记录sequence中int型出现位置模板 #include <map> #include <list> #include <cmath> #include <cctype> #include <cstdio> #include <string> #include <memory> #include <cstdlib> #include <cstring> #include <utility> #include <iostream> #include <algorithm> using namespace std; #define Max(a,b) ((a)>(b)?(a):(b)) #define Min(a,b) ((a)<(b)?(a):(b)) int a[100086],b[100086],c[100086]; map<int,list<int> > m; int main() { int n; while(scanf("%d",&n)!=EOF) { if(n==0)return 0; else m.clear(); memset(a,sizeof a); memset(b,sizeof b); memset(c,sizeof c); for(int i=1;i<=n;i++) { scanf("%d",&a[i]); if(m.find(a[i])==m.end()) { list<int> tmp; while(!tmp.empty())tmp.pop_back(); tmp.push_back(i); m.insert(pair<int,list<int> >(a[i],tmp)); }else m[a[i]].push_back(i); } map<int,list<int> >::iterator mit; list<int> ::iterator lit; for(mit=m.begin();mit!=m.end();++mit) { printf("%d:",mit->first); list<int> now=mit->second; for(lit=now.begin();lit!=now.end();++lit) printf("%d ",*lit); printf("n"); } } return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |