C++ stack 容器

C++ stack 容器

开发工具与关键技术:Visual Studio、C++
作者:张国军
撰写时间:2019年07月17日

stack 是堆栈容器,是一种“先进后出”的容器。
stack 是简单地装饰 deque 容器而成为另外的一种容器。#include
stack 对象的默认构造
//stack 对象的默认构造形式: stack stkT;
stack stkInt; //一个存放 int 的 stack 容器。
stack stkFloat; //一个存放 float 的 stack 容器。
stack stkString; //一个存放 string 的 stack 容器。
stack 对象的拷贝构造与赋值

#include  <iostream>
#include <stack>
using  namespace std;
template<class T>
void stackshow(stack<T>& s) {
	while (!s.empty())//判断是否为空取反
	{
		int tmp = s.top(); //获取栈顶元素
		cout << tmp << " ";
		s.pop(); //弹出栈顶元素
	}
	cout << endl;
}
void main()
{
	stack<int> stkIntA;
	stkIntA.push(1); //push()进栈
	stkIntA.push(3);
	stkIntA.push(5);
	stkIntA.push(7);
	stkIntA.push(9);
	stack<int> stkIntB(stkIntA); //拷贝构造
	stack<int> stkIntC;
	stkIntC = stkIntA; //赋值
	cout << "-------------stkIntA------------" << endl;
	stackshow(stkIntA);
	cout << "-------------stkIntB------------" << endl;
	stackshow(stkIntB);
	cout << "-------------stkIntC------------" << endl;
	stackshow(stkIntC);
}

在这里插入图片描述
stack 的数据存取

#include  <iostream>
#include <stack>
using  namespace std;
template<class T>
void stackshow(stack<T>& s) {
	while (!s.empty())//判断是否为空取反
	{
		int tmp = s.top(); //获取栈顶元素
		cout << tmp << " ";
		s.pop(); //弹出栈顶元素
	}
	cout << endl;
}
void main()
{
	stack<int> stkIntA;
	stkIntA.push(1);
	stkIntA.push(3);
	stkIntA.push(5);	
	stkIntA.push(7);
	stkIntA.push(9);
	int iTop = stkIntA.top(); //9
	stkIntA.top() = 19;
	stackshow(stkIntA);
}

在这里插入图片描述

stack 的大小

#include  <iostream>
#include <stack>
using  namespace std;
void main()
{
	stack<int> stkIntA;
	stkIntA.push(1);
	stkIntA.push(3);
	stkIntA.push(5);
	stkIntA.push(7);
	stkIntA.push(9);
	int iSize = 0;
	if (!stkIntA.empty())
	{
		iSize = stkIntA.size(); //5
	}
	cout << "栈的大小为:" << iSize<<endl;
}

在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值