您的位置:首页 > 编程语言 > C语言/C++

C++标准模板库

2016-03-16 21:07 465 查看
/*======================================================================
标准模板库
有些代码经常用到 需求特别稳定 慢慢形成标准模板库(STL)Standa Template Lib
1、vector 对数组的封装(随机读取数据很快  10个数据找一个和10000个数据中找一个时间是差不多的)
定义的方法
vector<T> v1
vector<T> v2(v1)
vector<T> v3(n,i)
vector<T> v4(n)
常用函数:
empty()		begin()		end()					clear()		front()
是否为空		迭代器首元素	迭代器末元素下一个元素	清空向量		第一个数据
back()		size()		push_back()				pop_back
最后一个数据	数据个数		尾部插入新元素			尾部删除新元素
2、迭代器
通过迭代器可以对标准模板库中的对象进行遍历
vector<T> vec;
vector<T>::iterator it=vec.begin();
for(;it!=vec.end();it++){……}
3、List
头结点  -   -    -   尾节点
值
地址
数据插入速度快
list<int> list1;
list1.push(1);
list1.push(2);
list1.push(3);
for(auto i:list)
{
cout<<
}
4、map映射
key键		value值
x1		  	 y1
x2			 y2
x3			 y3
map<int,string> m;
pair<int,string> p1(10,"shanghai")
pair<int,string> p2(20,":dsd")
m.insert(p1);
m.insert(p2);
m[1]  m[2] 索引

map<string,string> m;
pair<string,string> p1("S","shanghai")
pair<string,string> p2("A",":dsd")
m.insert(p1);
m.insert(p2);
m[S]  m[A] 索引
/*======================================================================*/
#include <vector>
#include <list>
#include <iostream>
#include <string>
#include<map>
using namespace std;

int main()
{
vector<int> v1;
v1.push_back(10);
v1.push_back(20);
for (auto i : v1)
{
cout << i << endl;
}
list<int> list1;
list1.push_back(1);
list1.push_back(2);
list1.push_back(3);
for (auto i : list1)
{
cout << i << endl;
}
map<int, string> m;
pair<int, string> p1(1, "hello");
pair<int, string> p2(5, "world");
m.insert(p1);
m.insert(p2);
map<int, string>::iterator it=m.begin();
for (; it != m.end(); it++)
{
cout << it->second << endl;
}
for (auto i : m)
{
cout << i.second << endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: