c++ map的使用


題目描述:

n(n<=200000)個數(1.5*10^9范圍內),輸出重復的數(最多10000個)出現的次數

代碼:

#include <iostream>
#include <map>
#include <cstdio>

using namespace std;
map<int,int> a;
int n,t;

int main()
{
	freopen("count.in","r",stdin); //打開輸入文件
	freopen("count.out","w",stdout); //打開輸出文件
	
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>t;
		a[t]++;	
	} 
	for(map<int,int>::iterator it=a.begin();it!=a.end();it++)
		cout<<it->first<<" "<<it->second<<" "<<endl;
		
	fclose(stdin);//關閉輸入文件
	fclose(stdout);//關閉輸出文件
} 

幾個操作總結:

1.定義map<數據類型,數據類型> 變量名;

2.首元素:x.began()

3.尾元素:x.end()

4.遍歷:

先定義一個迭代器:

map<數據類型,數據類型>::iterater it;

接着:

it=a.begin();it!=a.end();it++

這里it相當於指針.

4.輸出元素:
定義的第一個:it->first

第二個:it->second


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM