数据结构——堆栈的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.基本思路 分析可知,这道题的考察点就是堆栈的先进后出特性的应用 ...
最新文章
- c, c++函数名编译符号修饰符说明
- MPB:利用无菌植物和可培养细菌体系研究根系微生物组功能
- 【已解决】surefire-reports for the individual test results.
- mysql 死锁监视器_并发基础知识:死锁和对象监视器
- 在进行 ASP.NET 开发时,有时候需要对页面输出的最终 HTML 源代码进行控制
- HBase之CMS GC调优
- 知乎通过港交所上市聆讯 2021年营收29.6亿元
- jquery on()方法off()方法
- 多组输入,scanf的与按位取反操作符的运用。
- 自适应滤波器(二)NLMS自适应滤波器
- 计算今天是本学期第几周
- 如何构建稳的商期货cary合
- 上面一个星星下面一个r_谁能告诉我微博那个红色五角星有个R?
- 计算显卡算力测试软件,380显卡算力多少
- Unix编程常见问题解答
- 【Web安全基础】PHP基础
- 新西兰奥克兰发生三车追尾事故 造成一死一伤
- Windows系统下将MAC系统的可执行dmg文件转换为ISO文件 安装到虚拟机的MAC系统上
- 如何搭建好的数据指标体系?
- em模型补缺失值_ML4fun系列(六):EM算法
热门文章
- LeetCode 809. 情感丰富的文字
- LeetCode 1007. 行相等的最少多米诺旋转
- 04.卷积神经网络 W4.特殊应用:人脸识别和神经风格转换
- LeetCode MySQL 1205. 每月交易II(union all)*
- 程序员面试金典 - 面试题 17.24. 最大子矩阵(转成一维最大子序和 DP)
- LeetCode 946. 验证栈序列(栈)
- python字符串前面加上序号_简单了解python字符串前面加r,u的含义
- java 判断请求为 ajax请求_Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求...
- 判断 Python 对象是否包含某个属性的方法
- InfluxDB安装及使用