栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++之栈

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++之栈

基础概念

栈是一种先进后出(FILO,First In Last On)的线性结构。

用一个图片来表示一下栈。

可以将栈形象地用一个杯子来表示。

代码实现 定义

如果仔细想想,栈和数组差不多,都是类似一个长条状,所以我们就可以用数组来模拟栈,但是,我们不知道栈顶的下标是多少,所以就需要一个变量来表示栈顶的下标,代码实现如下:

int a[100];//数组模拟栈
int top = 0;//栈顶指针
遍历

我们已经知道栈顶的下标是多少,而且栈里的元素都是按顺序的,所以说输出就很简单了,代码实现如下:

void print(){    //输出函数
	for(int i = 0; i < top; i++){
    	cout << a[i] << ' ';
    }
}
压入元素

输出都来了,那么压入还会难吗?

我们知道,栈它是从上面压入元素,而且我们已经知道他的栈顶的下表,所以就可以很简单地用代码实现:

//压入栈底元素
void push(int x)    //x为压入的元素
{
	a[top++] = x;
}
弹出元素

有的时候,在使用栈的时候需要删除栈顶的元素,那么该如何实现呢?可以好好想一下,先不看代码。

其实,就只需要将栈顶的下表-1,就可以了,因为把上面的元素弹出只需要将栈顶变成栈顶下面的那个元素的下标就可以了,代码实现如下:

//弹出栈顶元素
void pop()
{
	top--;
}
访问栈顶元素

在某些时候,我们需要访问栈顶的元素,所以代码实现如下:

//访问栈顶元素
int pop()
{
	return a[top - 1];
}

注意,返回的时候必须是top-1。

那么栈的基本概念和实现方法都知道了,就留下来点个赞关注一下再走吧!

制作不易

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/950214.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号