当前位置: 代码迷 >> 综合 >> map mp.find() + mp.erase()
  详细解决方案

map mp.find() + mp.erase()

热度:0   发布时间:2023-12-06 05:13:06.0

//模板map< T,T > mp;map< T,T >::iterator it;it=mp.find(a);if( it!=mp.end() ) it=mp.erase(it);if( it!=mp.end() ) cout<<(*it).first<<' '<<(*it).second<<endl;

// eg.
#include<bits/stdc++.h>
using namespace std;map<int,int> mp;
map<int,int>::iterator it;int main()
{int a,b,n,x;while( ~scanf("%d%d",&a,&b) && a ) mp.insert( { a,b } );scanf("%d",&n);while( n-- ){scanf("%d",&x);it=mp.find(x);if( it!=mp.end() ){it=mp.erase(it);            		// it=cout<<"size:"<<mp.size()<<endl;    	// size() 也随之变化if( it!=mp.end() )  cout<<(*it).first<<' '<<(*it).second<<endl;else                cout<<"error!"<<endl;}                                               // (*it). 注意优先级else cout<<"not find!"<<endl;}return 0;
}
// 可能的输出:
// 1 2
// 3 4
// 5 6
// 7 8
// 9 0
// 0 0
// 1
// 5
// size:4
// 7 8

  相关解决方案