目录
stack
模板原型
头文件
模板的成员类型和成员对象和成员函数
栈类模板的容器对象
实例
queue
模板原型
头文件
模板的成员类型和成员对象和成员函数
队列类模板的容器对象
实例
map
模板原型
头文件
模板的成员类型和成员对象和成员函数
关联类模板的容器对象
实例1
实例2
deque
模板原型
头文件
模板的成员类型和成员对象和成员函数
双端队列类模板的容器对象
实例1
std::stack 类是一种容器适配器,是栈——先进后出数据结构
template<
class T,
class Container = std::deque
> class stack;
#include
std::stack - cppreference.comhttps://zh.cppreference.com/w/cpp/container/stack
//实例化一个 栈类模板的容器对象
std::stack stack;
#include
#include
using namespace std;
int main()
{
//栈这种数据结构----先进后出
//实例化一个 栈类模板的容器对象 栈的成员类型是string
std::stack stack;
//入栈 --向栈顶插入元素
stack.push("zhang3");
stack.push("li4");
stack.push("wang5");
stack.push("lao6");
//出栈
while(1)
{
//出栈的数据如何获取数据
cout<
std::queue 类是一种容器适配器,是队列——先进先出数据结构
template<
class T,
class Container = std::deque
> class queue;
#include
std::queue - cppreference.comhttps://zh.cppreference.com/w/cpp/container/queue
//实例化 队列类模板的对象
std::queue queue;
#include
#include
using namespace std;
int main()
{
//实例化 队列类模板的对象
std::queue queue;
//入队--尾插 ---两端操作
queue.push("zhang3");
queue.push("li4");
queue.push("wang5");
queue.push("lao6");
//判断队列是否为空
while(!queue.empty())
{
//出队之前,先获取数据--头部数据
cout<
std::map 是一种有序关联容器,它包含具有唯一键的键值对。键之间以比较函数 Compare 排序。搜索、移除和插入操作拥有对数复杂度。map 通常实现为红黑树。
template<
class Key,
class T,
class Compare = std::less,
class Allocator = std::allocator>
> class map;
#include
std::map - cppreference.comhttps://zh.cppreference.com/w/cpp/container/map
//实例化一个关联容器类模板的对象
//数据格式: 键值对的方式存在 key-value
std::map map;
//实例化一个键值对类模板的对象
std::pair data(200,"lao6");
#include
#include
#include
#include
using namespace std;
int main()
{
//实现一个简单的拼音中文输入法
std::map map;
//插入数据
map["a"] = "啊阿錒吖嗄";
map["b"] = "吧把不被表";
map["c"] = "从成层出插";
map["ni"] = "你尼呢腻拟";
while(1)
{
string input;
cin>>input;//输入key
string value = map[input];//获取对应key的value
//汉字字符串--->utf-8占3个字节 //遍历value
for(int i=0; i>num;
cout<
std::deque(double-ended queue,双端队列)是有索引的序列容器,它允许在它的首尾两端快速插入及删除。另外,在 deque 任一端的插入或删除不会使指向其余元素的指针或引用失效。等于队列和栈的结合体
template<
class T,
class Allocator = std::allocator
> class deque;
#include
std::deque - cppreference.comhttps://zh.cppreference.com/w/cpp/container/deque
std::deque deque;
#include
#include
using namespace std;
int main()
{
std::deque deque;
//实现队列功能
deque.push_back(10);
deque.push_back(20);
deque.push_back(30);
deque.push_back(40);
//遍历
for(int i = 0; i::iterator it = deque.begin();it!=deque.end();it++)
{
cout<<*it<