数据结构——堆栈的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++实现相关推荐

  1. 数据结构堆栈 内存堆栈_了解堆栈数据结构

    数据结构堆栈 内存堆栈 In this article, we'll be understanding the working and the need for the Stack Data Stru ...

  2. 【数据结构-堆栈(顺序存储)GO语言实现】

    [数据结构-堆栈(顺序存储)GO语言实现] 顺序存储的堆栈可以看作是一个操作被限制的数组,遵循着后进先出**(LIFO)**的原则. 顺序存储的堆栈代码arrayStack.go package st ...

  3. 数据结构堆栈 内存堆栈_零堆栈数据科学家第二部分秋天

    数据结构堆栈 内存堆栈 In Hollywood, it is known that the sequels are rarely better than the original movie/par ...

  4. 内存中的堆栈和数据结构堆栈区别

    堆栈的认识 1.内存中的堆栈 代码区 静态数据区 栈区 堆区 2.数据结构中的堆栈 内存中的堆栈和数据结构堆栈不是一个概念,可以说内存中的堆栈是真实存在的物理区,数据结构中的堆栈是抽象的数据存储结构. ...

  5. 数据结构——堆栈——计算器的原理(中缀变后缀)

    定义:栈(stack)又名堆栈,它是一种运算受限的线性表.限定仅在表尾进行插入和删除操作的线性表.这一端被称为栈顶,相对地,把另一端称为栈底.向一个栈插入新元素又称作进栈.入栈或压栈,它是把新元素放到 ...

  6. C语言堆栈入门——与数据结构堆栈区别

    在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到.但对于很多的初学着来说,堆栈是一个很模糊的概念.堆栈:一种数据结构.一个在程序运行时用于存放的地方,这可能是很多初学者的认识 ...

  7. 基础数据结构-堆栈-拓展:行编辑

    使用C++的STL堆栈对象,编写程序实现行编辑功能.行编辑功能是:当输入#字符,则执行退格操作:如果无字符可退就不操作,不会报错 本程序默认不会显示#字符,所以连续输入多个#表示连续执行多次退格操作 ...

  8. 数据结构——堆栈的C语言实现

    1.什么叫堆栈? 2.堆栈的数据类型描述 3.堆栈顺序存储的C语言实现 #include<stdio.h> #include<stdlib.h>#define MaxSize ...

  9. 数据结构--堆栈应用:T型火车轨道的列车排列问题

    我们知道,堆栈在数据结构中扮演着重要的角色,而在理解堆栈先进后出的特性时,有一个经典的问题就是T型轨道的列车排列问题. 1.问题模型 2.基本思路 分析可知,这道题的考察点就是堆栈的先进后出特性的应用 ...

最新文章

  1. c, c++函数名编译符号修饰符说明
  2. MPB:利用无菌植物和可培养细菌体系研究根系微生物组功能
  3. 【已解决】surefire-reports for the individual test results.
  4. mysql 死锁监视器_并发基础知识:死锁和对象监视器
  5. 在进行 ASP.NET 开发时,有时候需要对页面输出的最终 HTML 源代码进行控制
  6. HBase之CMS GC调优
  7. 知乎通过港交所上市聆讯 2021年营收29.6亿元
  8. jquery on()方法off()方法
  9. 多组输入,scanf的与按位取反操作符的运用。
  10. 自适应滤波器(二)NLMS自适应滤波器
  11. 计算今天是本学期第几周
  12. 如何构建稳的商期货cary合
  13. 上面一个星星下面一个r_谁能告诉我微博那个红色五角星有个R?
  14. 计算显卡算力测试软件,380显卡算力多少
  15. Unix编程常见问题解答
  16. 【Web安全基础】PHP基础
  17. 新西兰奥克兰发生三车追尾事故 造成一死一伤
  18. Windows系统下将MAC系统的可执行dmg文件转换为ISO文件 安装到虚拟机的MAC系统上
  19. 如何搭建好的数据指标体系?
  20. em模型补缺失值_ML4fun系列(六):EM算法

热门文章

  1. LeetCode 809. 情感丰富的文字
  2. LeetCode 1007. 行相等的最少多米诺旋转
  3. 04.卷积神经网络 W4.特殊应用:人脸识别和神经风格转换
  4. LeetCode MySQL 1205. 每月交易II(union all)*
  5. 程序员面试金典 - 面试题 17.24. 最大子矩阵(转成一维最大子序和 DP)
  6. LeetCode 946. 验证栈序列(栈)
  7. python字符串前面加上序号_简单了解python字符串前面加r,u的含义
  8. java 判断请求为 ajax请求_Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求...
  9. 判断 Python 对象是否包含某个属性的方法
  10. InfluxDB安装及使用