C++——stack容器和queque容器
stack容器
stack基本概念
1、概念: stack是一种先进后出的数据结构,它只有一个出口

栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为
栈中进入数据称为——入栈push
栈中弹出数据称为——出栈pop
stack常用接口
1、功能描述:栈容器常用的对外接口
2、构造函数:
①stack<T> stk; //stack采用模版类实现,stack对象的默认构造形式
②stack(const stack &stk); //拷贝构造函数
3、赋值操作
①stack& operator=(const stack &stk); //重载等号操作符
4、数据存取
①push(elem); //向栈顶添加元素
②pop( ); //从栈顶移除第一个元素
③top( ); //返回栈顶元素
5、大小操作
①empty( ); //判断堆栈是否为空
②size( ); //返回栈的大小
#include<stack>
void test01(){
//特点:符合先进后出数据结构
stack<int>s;
//入栈
s.push(10);
s.push(20);
s.push(30);
s.push(40);
cout<<"栈的大小"<<s.size()<<endl;
//只要栈不为空,查看栈顶,并且执行出栈操作
while(!s.empty()){
//查看栈顶元素
cout<<"栈顶元素"<<s.top()<<endl;
//出栈
s.pop();
}
cout<<"栈的大小"<<s.size()<<endl;
}
queque容器
queque基本概念
1、概念:Queque是一种先进先出的数据结构,它有两个出口

队列容器允许从一端新增元素,从另一端移除元素
队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为
队列中进数据称为——入队push
队列中出数据称为——出队pop
queque常用接口
1、功能描述:栈容器常用的对外接口
2、构造函数:
①queue<T> que; //queque采用模版类实现,queque对象的默认构造形式
②queue(const queue &que); //拷贝构造函数
3、赋值操作
①queue& operator=(const queue &que); //重载等号操作符
4、数据存取
①push(elem); //向队尾添加元素
②pop( ); //从队头移除第一个元素
③back( ); //返回最后一个元素
④front( ); //返回第一个元素
5、大小操作
①empty( ); //判断堆栈是否为空
②size( ); //返回栈的大小
#include<queue>
class Person{
punlic:
Person(string name,int age){
this->m_Name=name;
this->m_Age=age;
}
string m_Name;
int m_Age;
};
void test01(){
//特点:符合先进先出数据结构
Queue<Person>q;
//准备数据
Person p1("唐僧",30);
Person p1("孙悟空",1000);
Person p1("猪八戒",900);
Person p1("沙僧",800);
//入队
q.push(p1);
q.push(p2);
q.push(p3);
q.push(p4);
cout<<"队列的大小"<<q.size()<<endl;
//只要栈不为空,查看栈顶,并且执行出栈操作
while(!q.empty()){
//查看队头元素
cout<<"队头元素——姓名"<<q.front().m_Name<<"年龄:"<<q.front().m_Age<<endl;
//查看队尾元素
cout<<"队尾元素——姓名"<<q.back().m_Name<<"年龄:"<<q.back().m_Age<<endl;
//出队
q.pop();
}
cout<<"队列的大小"<<q.size()<<endl;
}
更多推荐



所有评论(0)