C++ STL标准模板库---stack容器以及queue容器的概念以及简单使用

2019/8/19
天气:多云
入秋之后,昨晚下了会雨 今早起床感觉凉爽了不少

stack容器(堆栈)

stack容器基本概念

stack容器是一种先进后出的数据结构,它只有一个出口,形式如图所示:
C++ STL标准模板库---stack容器以及queue容器的概念以及简单使用_第1张图片
C++ STL标准模板库---stack容器以及queue容器的概念以及简单使用_第2张图片
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
#include 

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不提供遍历功能,也不提供迭代器。
C++ STL标准模板库---stack容器以及queue容器的概念以及简单使用_第3张图片
C++ STL标准模板库---stack容器以及queue容器的概念以及简单使用_第4张图片

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 
#include 

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;
}


你可能感兴趣的:(STL,c++)