STL中map,set的基本用法示例

本文主要是使用了STL中德map和set兩個容器,使用了它們自己的一些功能函數(包括迭代器),介紹了它們的基本使用方式,是一個使用熟悉的過程。ios

map的基本使用:函數

#include "stdafx.h"
#include<iostream>
#include<set>
#include<string>
#include<vector>
#include<map>

using namespace std;

int main()                
{
	//定義map對象
	map<string,float> myMap;
	myMap["jack"]=98.5;
	myMap["bomi"]=98.0;
	myMap["Kate"]=97.6;

	map<string,float>::iterator itm;
	for(itm=myMap.begin();itm!=myMap.end();itm++)
	{
		//按照鍵值與映照的數據輸出
		cout<<(*itm).first<<" : "<<(*itm).second<<endl;
	}


	int k=0;
	cin>>k;
	return 0;
}
set的基本使用示例:

#include "stdafx.h"
#include<iostream>
#include<set>
#include<string>
#include<vector>

using namespace std;

int main()                
{
	set<int> mySet;
	mySet.insert(8);
	mySet.insert(1);
	mySet.insert(12);
	mySet.insert(6);
	mySet.insert(8);            //這裏由於前面已經插入了8,重複元素,不會插入。

	set<int>::iterator its;  //set容器的迭代器

	cout<<"正向遍歷:"<<" ";
	for(its=mySet.begin();its!=mySet.end();its++)   //正向遍歷
	{
		cout<<*its<<" ";
	}
	cout<<endl<<"反向遍歷:"<<" ";

	set<int>::reverse_iterator rit;            //set的逆向迭代器
	for(rit=mySet.rbegin();rit!=mySet.rend();rit++)
	{
		cout<<*rit<<" ";
	}

	//刪除鍵值爲6的元素
	mySet.erase(6);
	cout<<endl<<"刪除以後的反向遍歷:"<<" ";
    for(rit=mySet.rbegin();rit!=mySet.rend();rit++)
	{
		cout<<*rit<<" ";
	}

	//set中元素的檢索
	mySet.insert(17);
	mySet.insert(10);

	cout<<endl;
	its=mySet.find(10);            //使用迭代器來查找,沒找到就返回end().
	if(its!=mySet.end()) cout<<"找到了"<<*its<<endl;
	else cout<<"沒有找到查詢的元素"<<endl;

	its=mySet.find(100);
    if(its!=mySet.end()) cout<<"找到了"<<*its<<endl;
	else cout<<"沒有找到查詢的元素"<<endl;	


	int k=0;
	cin>>k;
	return 0;
}

一些細節的地方說明,請看源碼中的註釋,謝謝!
相關文章
相關標籤/搜索