数据结构——堆栈的C++实现
数据结构——堆栈的C++实现
\qquad堆栈的创建、判断是否为空,入栈,出栈操作的C++实现。
#include<iostream>
using namespace std;//1.定义
typedef struct Node* Link;
struct Node {int num;Link next;
};//2.创建堆栈头结点
Link CreateStack()
{Link s;s = new Node;s->next = NULL;return s;
}//3.判断堆栈是否为空
int IsEmpty(Link s)
{return(s->next == NULL);
}//4.入栈
void Push(int num, Link s)
{Link L;L = new Node;L->num = num;L->next = s->next;s->next = L;
}//5.出栈,并返回出栈数据
int Pop(Link s)
{Link firstcell;int topnum;if (IsEmpty(s)) {cout << "堆栈空" << endl;return NULL;}else {firstcell = s->next;s->next = firstcell->next;topnum = firstcell->num;delete firstcell;return topnum;}
}
int main()
{Link top;int i;//创建堆栈头结点top = CreateStack();//将数据1,2,3,4,5压入栈中for (i = 1; i < 6; i++) {Push(i, top);Link top2 = top->next;cout << top2->num << endl;}//将堆栈上两个数据弹出栈for (i = 1; i < 3; i++) {cout << Pop(top) << endl;}}
数据结构——堆栈的C++实现相关推荐
- 数据结构堆栈 内存堆栈_了解堆栈数据结构
数据结构堆栈 内存堆栈 In this article, we'll be understanding the working and the need for the Stack Data Stru ...
- 【数据结构-堆栈(顺序存储)GO语言实现】
[数据结构-堆栈(顺序存储)GO语言实现] 顺序存储的堆栈可以看作是一个操作被限制的数组,遵循着后进先出**(LIFO)**的原则. 顺序存储的堆栈代码arrayStack.go package st ...
- 数据结构堆栈 内存堆栈_零堆栈数据科学家第二部分秋天
数据结构堆栈 内存堆栈 In Hollywood, it is known that the sequels are rarely better than the original movie/par ...
- 内存中的堆栈和数据结构堆栈区别
堆栈的认识 1.内存中的堆栈 代码区 静态数据区 栈区 堆区 2.数据结构中的堆栈 内存中的堆栈和数据结构堆栈不是一个概念,可以说内存中的堆栈是真实存在的物理区,数据结构中的堆栈是抽象的数据存储结构. ...
- 数据结构——堆栈——计算器的原理(中缀变后缀)
定义:栈(stack)又名堆栈,它是一种运算受限的线性表.限定仅在表尾进行插入和删除操作的线性表.这一端被称为栈顶,相对地,把另一端称为栈底.向一个栈插入新元素又称作进栈.入栈或压栈,它是把新元素放到 ...
- C语言堆栈入门——与数据结构堆栈区别
在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到.但对于很多的初学着来说,堆栈是一个很模糊的概念.堆栈:一种数据结构.一个在程序运行时用于存放的地方,这可能是很多初学者的认识 ...
- 基础数据结构-堆栈-拓展:行编辑
使用C++的STL堆栈对象,编写程序实现行编辑功能.行编辑功能是:当输入#字符,则执行退格操作:如果无字符可退就不操作,不会报错 本程序默认不会显示#字符,所以连续输入多个#表示连续执行多次退格操作 ...
- 数据结构——堆栈的C语言实现
1.什么叫堆栈? 2.堆栈的数据类型描述 3.堆栈顺序存储的C语言实现 #include<stdio.h> #include<stdlib.h>#define MaxSize ...
- 数据结构--堆栈应用:T型火车轨道的列车排列问题
我们知道,堆栈在数据结构中扮演着重要的角色,而在理解堆栈先进后出的特性时,有一个经典的问题就是T型轨道的列车排列问题. 1.问题模型 2.基本思路 分析可知,这道题的考察点就是堆栈的先进后出特性的应用 ...
最新文章
- 为什么MySQL不推荐使用 UUID 或者雪花id作为主键?
- pandas使用groupby函数计算dataframe数据中每个分组的N个数值的滚动标准差(rolling std)、例如,计算某公司的多个店铺每N天(5天)的滚动销售额标准差
- flex布局的盒子模型
- 贫血模型,充血模型(领域驱动设计)
- Android中从assets资源中读取图片文件并保存到内部存储器并加载显示在ImageView中
- 在iframe中显示嵌套网页的指定部分
- ~~单调队列(数据结构)(附题目)
- MATLAB 四元数旋转函数
- 解决iview中</Input>标签报错的方法
- 关于事务开启与否对数据库插入数据所需时间的影响的讨论
- java 视频处理_java使用ffmpeg处理视频的方法
- CSP-S2022游记
- 图解机器学习神器:Scikit-Learn
- C网跟G网是什么意思?
- ValueError X has 2 features, but LogisticRegression is expecting 5 features as input
- LeetCode #179 - Largest Number
- Maven项目在new module后,pom文件显示为Ignored pom.xml
- 第四次作业——个人作业——必应词典软件案例分析
- ERP系统类毕业论文文献都有哪些?
- python里小于号怎么打_如何在嵌入xml的python脚本中使用大于或小于符号?
热门文章
- LeetCode 988. 从叶结点开始的最小字符串(DFS)
- LeetCode 1310. 子数组异或查询(前缀异或)
- LeetCode 166. 分数到小数(小数除法)
- LeetCode 171. Excel表列序号(26进制转10进制)
- 回溯应用-- 0-1背包问题
- RSA公钥体系 与在 ssh中免密的登陆的应用
- DataFrame字符串之分割split()、清洗drop()、合并concat()、重新建立索引reset_index() - (Python)
- 论文阅读翻译(全)【一直更新】
- 李宏毅机器学习(一)基本概念介绍
- 谷歌大改Transformer注意力,速度大涨,显存大降!