2019/8/19
天气:多云
入秋之后,昨晚下了会雨 今早起床感觉凉爽了不少
stack容器(堆栈)
stack容器基本概念
stack容器是一种先进后出的数据结构,它只有一个出口,形式如图所示:
stack容器允许新增元素,移除元素,取得栈顶元素,但是除了最顶端之外,没有任何其他方法可以存取stack的其他元素。stack不允许有遍历行为
堆栈:push 出栈:pop
stack常用API
stack构造函数
stack<T> stkT;//stack采用模板类实现, stack对象的默认构造形式:
stack(const stack &stk);//拷贝构造函数
stack赋值操作
stack& operator=(const stack &stk);//重载等号操作符
stack数据存取操作
push(elem);//向栈顶添加元素
pop();//从栈顶移除第一个元素
top();//返回栈顶元素
stack大小操作
empty();//判断堆栈是否为空
size();//返回堆栈的大小
示例代码
#include "stdafx.h"
#include<iostream>
#include <stack>
using namespace std;
void f_stackTest()
{
stack<int>st;
st.push(100);
st.push(200);
stack<int>st1(st);
st1.pop();
int top = st1.top();
st1.empty();
int size = st1.size();
}
int _tmain(int argc, _TCHAR* argv[])
{
f_stackTest();
return 0;
}
queue容器(队列)
queue容器基本概念
Queue是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口,queue容器允许从一端新增元素,从另一端移除元素。
Queue所有的元素的进出都必须符合”先进先出”的条件,只有queue的顶端元素,才有机会被外界取用。Queue不提供遍历功能,也不提供迭代器。
queue常用API
queue构造函数
queue<T> queT;//queue采用模板类实现,queue对象的默认构造形式:
queue(const queue &que);//拷贝构造函数
queue存取、插入和删除操作
push(elem);//往队尾添加元素
pop();//从队头移除第一个元素
back();//返回最后一个元素
front();//返回第一个元素
queue赋值操作
queue& operator=(const queue &que);//重载等号操作符
queue大小操作
empty();//判断队列是否为空
size();//返回队列的大小
示例代码
#include "stdafx.h"
#include <iostream>
#include <queue>
using namespace std;
void f_queueTest()
{
queue<int>qu;
qu.push(1000);
queue<int>qu1(qu);
qu.push(10);
qu.pop();
int end = qu.back();
int fist = qu1.front();
qu1 = qu;
qu1.empty();
int size = qu1.size();
}
int _tmain(int argc, _TCHAR* argv[])
{
f_queueTest();
return 0;
}