c++之stack栈模型

c++之stack栈模型


前言

#include
stack是堆栈容器,是一种“先进后出的容器”

一、stack使用方法

  1. stack.push(elem); //往栈头添加元素
  2. stack.pop(); //从栈头移除以第一个元素
  3. stack.top(); //返回最后一个入栈元素
  4. stack.empty();//判断栈是否为空
  5. stack.size();//返回堆栈大小

二、用法案例

#include<stack>
#include<iostream>
Class Teacher
{
public:
	Teacher (const char *name,int age)//有参构造函数
	{
	 strcpy(this->name,name);
	 this->age=age;
	}
	Teacher()//无参构造函数
	{
	 strcpy(this->name,0);
	 this->age=o;
	}
	void printT()
	{
	cout<<"name:"<<name<<"age:"<<age<<endl;
	}
public:
	char name[64];//记得要分配内存
	int  age;
}
void main()
{
	Teacher t1("t1",12),t2("t2",14),t3("t3",17);
	//对象入栈
	stack<Teacher *> s;
	s.push(&t1);
	s.push(&t2);
	s.push(&t3);

	//查看栈大小,并且让元素出栈
	while(!s.empty(){
	 cout<<"栈目前大小:"<<s.size()<<endl;
	 Teacher *tmp=s.top();//把栈头元素返回给一个Teacher 变量
	 tmp->printT();
	 s.pop();//删栈	
	}
return;
}	
	 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟道xn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值