本文主要是使用了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; }