详见 http://www.cplusplus.com/reference/stl/
vector
View Code
#include <stdio.h> #include <vector> using namespace std; int main(){ vector<int>v; //把23加入到最后 v.push_back(23);//23 v.push_back(12);//23 12 //把最后的数删掉 v.pop_back();//23 //把最后的数删除 v.pop_back();// //清空 v.clear(); v.push_back(1);//1 v.push_back(2);//1 2 printf("%d\n",v[0]);//第一个数,相当于v.front();或v.at(0); printf("%d\n",v.back());//最后一个数 //迭代器访问 vector<int>::iterator i; for(i=v.begin();i!=v.end();i++){ printf("%d\n",*i); } return 0; }
list
View Code
#include <iostream> #include <list> using namespace std; bool cmp(int i, int j){ if(i<j) return true; else return false; } struct cmp2{ bool operator() (int i, int j){ return i<j; } }; int main(){ //构造函数 list<int>l (4,100); l.push_back(3); //第一个和最后一个元素 l.front();//1 l.back();//3 //最后加一个元素 l.push_back(4); l.pop_back(); //最前加一个元素 l.push_front(1); l.pop_front(); //排序 默认从小到大排序 l.sort(); //VC报错? //l.sort(cmp); //去重 l.unique(); list<int>j(2,5); //合并两个list l.merge(j); //反转 l.reverse(); list<int>::iterator i; for(i=l.begin();i!=l.end();i++){ printf("%d\n",*i); } return 0; }
set
View Code
#include <iostream> #include <set> using namespace std; int main(){ set<int> myset; //插入数据 myset.insert(1); myset.insert(4); myset.insert(4); //找某个元素,找到返回它的迭代器,找不到返回myset.end() set<int>::iterator it = myset.find(1); myset.erase(it); //元素的数量 myset.count(); if(myset.find(100)==myset.end()) printf("---\n"); return 0; }
map
View Code
#include <iostream> #include <map> int main () { std::map<char,int> mymap; std::map<char,int>::iterator it; //赋值 mymap['a']=50; mymap['b']=100; mymap['c']=150; mymap['d']=200; //查找 it=mymap.find('b'); //清除一个 mymap.erase (it); mymap.erase (mymap.find('d')); // print content: std::cout << "elements in mymap:" << '\n'; std::cout << "a => " << mymap.find('a')->second << '\n'; std::cout << "c => " << mymap.find('c')->second << '\n'; return 0; }

浙公网安备 33010602011771号