目录
💡stack
💡基本概念
常用接口
💡queue
💡基本概念
💡常用接口
💡stack
💡基本概念
栈(stack):一种特殊的线性表,其只允许在固定的一端进行插入和删除操作。在进行数据插入和删除的一端称为栈顶,另一端称为栈低。栈中的元素都遵循后进先出的原则(LIFO,Last In First Out)。
压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。
出栈:栈的删除操作叫做出栈。出数据也在栈顶。
生活中栈的例子:
常用接口
功能描述:
- 栈容器常用的对外接口
构造函数:
- stack<T> stk; //stack采用模板类实现, stack对象的默认构造形式
- stack(const stack &stk); //拷贝构造函数
赋值操作:
- stack& operator=(const stack &stk); //重载等号操作符
数据存取:
- push(elem); //向栈顶添加元素
- pop(); //从栈顶移除第一个元素
- top(); //返回栈顶元素
大小操作:
empty(); //判断堆栈是否为空
size(); //返回栈的大小
stack<int>st;
//入栈
st.push(10);
st.push(20);
st.push(30);
st.push(40);//栈顶
cout << "size=" << st.size() << endl;
while (!st.empty())
{
cout << st.top() << endl;
st.pop();
}
cout << "size="<<st.size() << endl;
💡queue
💡基本概念
队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出 FIFO(First In First Out)
入队列:进行插入操作的一端称为队尾
出队列:进行删除操作的一端称为队头
💡常用接口
功能描述: 栈容器常用的对外接口
构造函数:
- queue<T> que; //queue采用模板类实现,queue对象的默认构造形式
- queue(const queue &que); //拷贝构造函数
赋值操作:
- queue& operator=(const queue &que); //重载等号操作符
数据存取:
- push(elem); //往队尾添加元素
- pop(); //从队头移除第一个元素
- back(); //返回最后一个元素
- front(); //返回第一个元素
大小操作:
- empty(); //判断堆栈是否为空
- size(); //返回栈的大小
queue<int>q;
q.push(10);
q.push(20);
q.push(30);
q.push(40);
cout << q.front() << endl;//队头元素
cout << q.back() << endl;//队尾元素
cout <<"size= "<< q.size() << endl;//大小
//先进先出
while (!q.empty())
{
cout << q.front() << endl;
q.pop();
}
cout <<"size= "<< q.size() << endl;