国内什么网站用asp.net,商业网站在规划与设计时应着重考虑哪些因素,城乡建设网站证件查询,广告联盟app下载目录
stack
模板原型
头文件
模板的成员类型和成员对象和成员函数
栈类模板的容器对象
实例
queue
模板原型
头文件
模板的成员类型和成员对象和成员函数
队列类模板的容器对象
实例
map
模板原型
头文件
模板的成员类型和成员对象和成员函数
关联类模板的容器…目录
stack
模板原型
头文件
模板的成员类型和成员对象和成员函数
栈类模板的容器对象
实例
queue
模板原型
头文件
模板的成员类型和成员对象和成员函数
队列类模板的容器对象
实例
map
模板原型
头文件
模板的成员类型和成员对象和成员函数
关联类模板的容器对象
实例1
实例2
deque
模板原型
头文件
模板的成员类型和成员对象和成员函数
双端队列类模板的容器对象
实例1 stack
std::stack 类是一种容器适配器是栈——先进后出数据结构
模板原型
templateclass T,class Container std::dequeTclass stack;头文件
#include stack
模板的成员类型和成员对象和成员函数
std::stack - cppreference.comhttps://zh.cppreference.com/w/cpp/container/stack
栈类模板的容器对象
//实例化一个 栈类模板的容器对象
std::stackstd::string stack;
实例
#include iostream
#include stackusing namespace std;int main()
{//栈这种数据结构----先进后出//实例化一个 栈类模板的容器对象 栈的成员类型是stringstd::stackstd::string stack;//入栈 --向栈顶插入元素stack.push(zhang3);stack.push(li4);stack.push(wang5);stack.push(lao6);//出栈while(1){//出栈的数据如何获取数据coutstack.top()endl;//删除--删除栈顶stack.pop();//判断栈是否为空if(stack.empty() true)break;}return 0;
}queue
std::queue 类是一种容器适配器是队列——先进先出数据结构
模板原型
templateclass T,class Container std::dequeTclass queue;
头文件
#include queue
模板的成员类型和成员对象和成员函数
std::queue - cppreference.comhttps://zh.cppreference.com/w/cpp/container/queue
队列类模板的容器对象 //实例化 队列类模板的对象std::queuestd::string queue;
实例
#include iostream
#include queueusing namespace std;int main()
{//实例化 队列类模板的对象std::queuestd::string queue;//入队--尾插 ---两端操作queue.push(zhang3);queue.push(li4);queue.push(wang5);queue.push(lao6);//判断队列是否为空while(!queue.empty()){//出队之前先获取数据--头部数据coutqueue.front()endl;//出队头部数据删除queue.pop();}return 0;
}map
std::map 是一种有序关联容器它包含具有唯一键的键值对。键之间以比较函数 Compare 排序。搜索、移除和插入操作拥有对数复杂度。map 通常实现为红黑树。
模板原型
templateclass Key,class T,class Compare std::lessKey,class Allocator std::allocatorstd::pairconst Key, Tclass map;头文件
#include map
模板的成员类型和成员对象和成员函数
std::map - cppreference.comhttps://zh.cppreference.com/w/cpp/container/map
关联类模板的容器对象 //实例化一个关联容器类模板的对象//数据格式 键值对的方式存在 key-valuestd::maplong int,std::string map;//实例化一个键值对类模板的对象std::pairlong int,std::string data(200,lao6);
实例1
#include iostream
#include mapusing namespace std;int main()
{//实例化一个关联容器类模板的对象//数据格式 键值对的方式存在 key(int)-value(string)std::maplong int,std::string map;//插入数据 operator[] 访问或插入指定的元素map[100] zhang3;map[120] li4;map[122] wang5;//实例化一个键值对类模板的对象std::pairlong int,std::string data(200,lao6);//insert插入数据map.insert(data);//访问coutmap[120]endl;//通过迭代器遍历整个容器std::maplong int,std::string::iterator it;for(itmap.begin(); it!map.end(); it){//it-first 得到键 second 得到值coutit-first\tit-secondendl;}return 0;
}实例2 简易输入法
#include iostream
#include map
using namespace std;int main()
{//实现一个简单的拼音中文输入法std::mapstring,string map;//插入数据map[a] 啊阿錒吖嗄;map[b] 吧把不被表;map[c] 从成层出插;map[ni] 你尼呢腻拟;while(1){string input;cininput;//输入keystring value map[input];//获取对应key的value//汉字字符串---utf-8占3个字节 //遍历value for(int i0; ivalue.size()/3; i)//汉字的个数{couti1 value.substr(3*i,3)\t;}coutendl;//根据输入数字显示对应的汉字int num0;cinnum;coutvalue.substr(3*(num-1),3)endl;}return 0;
}deque
std::dequedouble-ended queue双端队列是有索引的序列容器它允许在它的首尾两端快速插入及删除。另外在 deque 任一端的插入或删除不会使指向其余元素的指针或引用失效。等于队列和栈的结合体
模板原型
templateclass T,class Allocator std::allocatorTclass deque;头文件
#include deque
模板的成员类型和成员对象和成员函数
std::deque - cppreference.comhttps://zh.cppreference.com/w/cpp/container/deque
双端队列类模板的容器对象
std::dequeint deque;实例1
#include iostream
#include dequeusing namespace std;int main()
{std::dequeint deque;//实现队列功能deque.push_back(10);deque.push_back(20);deque.push_back(30);deque.push_back(40);//遍历for(int i 0; ideque.size();i){coutdeque[i]endl;}//也可以使用迭代器遍历for(std::dequeint::iterator it deque.begin();it!deque.end();it){cout*itendl;} //出队 头删//判断是否为空while(!deque.empty()){//先访问头部数据coutdeque.front()endl;deque.pop_front();//}return 0;
}