/*======================================================================
标准模板库
有些代码经常用到 需求特别稳定 慢慢形成标准模板库(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;
}
C++标准模板库
最新推荐文章于 2024-05-15 12:00:00 发布