C++学习-STL容器

来源:互联网 发布:mac双系统文件共享 编辑:程序博客网 时间:2024/06/16 00:09

STL中的vector:

/*vector --->向量  ---->线性容器用标准模板,记得加上相应的头文件*/#include <iostream>#include <vector>using namespace std;int main(){//向量容器vector <int> v0;//初始化值vector <int> v1{ 1,2,3,4,5,9,6 }; //设置向量容量//初始化v1[0] = 8;v1[1] = 8;v1[2] = 8;//声明迭代器 标准他属于那个模板vector<int>::iterator  v1_Iter;for (v1_Iter = v1.begin(); v1_Iter < v1.end(); v1_Iter++){cout <<" "<< *v1_Iter;}cout << endl;//逆序迭代器vector<int>::reverse_iterator  v1_rIter;for (v1_rIter = v1.rbegin(); v1_rIter < v1.rend(); v1_rIter++){cout << " " << *v1_rIter;}//新标准cout << endl;for (int &i : v1){cout << " " << i;}system("pause");return 0;}

STL中的stack:

#include <iostream>#include<stack>#include <string>using namespace std;int main(){//stack 先进后出stack<string> mystack;mystack.push("饭");mystack.push("要吃");mystack.push("我"); cout << mystack.size();cout << endl;while (!mystack.empty()){cout << mystack.top();mystack.pop();}cout << endl;system("pause");return 0;}

STL中的queue:

#include <iostream>#include<queue>#include <list>#include <string>using namespace std;int main(){queue<string> qs;//嵌套list<string> Ls;Ls.push_back("12123");queue<list<string>> QS;QS.push(Ls); qs.push("我");qs.push("想");qs.push("你");while (!qs.empty()){cout << qs.front();qs.pop();}cout << endl;system("pause");return 0;}

STL中的list:

#include<iostream>#include <list>//俗称  列表using namespace std;int main(){list<int>  L1;L1.push_back(3);L1.push_back(2);L1.push_back(1);for (int &v : L1){cout << " " << v;}cout << endl;L1.push_front(4);list<int>::iterator  L1_Iter;//-----> p->next!= NULLfor (L1_Iter = L1.begin(); L1_Iter!=L1.end(); L1_Iter++){cout << " " << *L1_Iter;}system("pause"); //防止闪屏return 0;}

STL中的set:

#include <iostream>#include<set>#include <string>using namespace std;int main(){/*set <int> si;*/multiset <int> si;//没有重复出现的si.insert(1);si.insert(2);si.insert(2);si.insert(4);for (set<int>::const_iterator it = si.begin(); it != si.end(); it++){cout << " " << *it;}cout << endl;set<string> bad_ip;bad_ip.insert("192.168.1.1");bad_ip.insert("192.168.1.10");string my_ip = "192.168.1.1";//count使用if (bad_ip.count(my_ip) != 0){cout << "该ip属于黑名单" << endl;}system("pause");return 0;}

STL中的map:

#include<iostream>#include <string>#include <map>using namespace std;int main(){//初始化方式//----->字典//first:键   second:值 //map<string,int> msi//pair:数对类型 //结构体+类,显式实例化//msi.insert(pair<string, int>("张飞", 97));////make_pair() 函数隐式//msi.insert(make_pair("赵云", 78));//下标的方式进行访问//msi["a"] = 100;//msi["A"] = 300;//msi["f"] = 40;//msi["d"] = 500;//msi["e"] = 1000;//map :1.注意:键唯一//   2.有序,排序 大写大于小写,其他按字母  "A">"a"  //typedef map<string, int>::iterator IT;//for (IT it = msi.begin(); it != msi.end(); ++it)//{//cout << "名字:" << it->first << "\t战力:" << it->second<<endl;//}multimap<string, int> msi;msi.insert(make_pair("ZF", 95));msi.insert(make_pair("ZL", 95));typedef multimap<string, int>::iterator IT;for (IT it = msi.begin(); it != msi.end(); ++it){cout << "名字:" << it->first << "\t战力:" << it->second<<endl;}system("pause");return 0;}



原创粉丝点击