链栈的创建,入栈,出栈,获取栈顶元素
链栈的创建,入栈,出栈,获取栈顶元素
#include <stdio.h>
#include <stdlib.h>
#define Max 5
typedef struct LinkNode {int data;struct LinkNode* next;
}*ListStack;ListStack push(ListStack &S, int e) {LinkNode* h = S;if (h == NULL) {S = (LinkNode*)malloc(sizeof(LinkNode));S->data = e;S->next = NULL;return S;}LinkNode* p = (LinkNode*)malloc(sizeof(LinkNode));p->data = e;p->next = h;S = p; return S;
}
bool pop(ListStack& S, int& e) {if (S == NULL) {return false;}e = S->data;S = S->next;return true;
}
bool GetTop(ListStack S, int& e) {if (S == NULL) {return false;}e = S->data;return true;
}
int main() {int e;ListStack S=NULL;S=push(S, 3);GetTop(S, e);printf("The top is %d\n", e);S=push(S, 4);GetTop(S,e);printf("The top is %d\n", e);pop(S, e);printf("The top is %d\n", e);GetTop(S, e);printf("The top is %d\n", e);}
#include <stdio.h>
#include <stdlib.h>
#define Max 5
typedef struct LinkNode {int data;struct LinkNode* next;
}*ListStack;void InitStack(ListStack& S) {S = NULL;
}
ListStack push(ListStack& S, int e) {LinkNode* h = S;if (h == NULL) {S = (LinkNode*)malloc(sizeof(LinkNode));S->data = e;S->next = NULL;return S;}LinkNode* p = (LinkNode*)malloc(sizeof(LinkNode));p->data = e;p->next = h;S = p;return S;
}
bool pop(LinkNode* & S, int& e) {if (S == NULL) {return false;}LinkNode* p = S;e = S->data;S = S->next;free(p);return true;
}
bool GetTop(ListStack S, int& e) {if (S == NULL) {return false;}e = S->data;return true;
}
int main() {int e;ListStack S ;InitStack(S);S = push(S, 3);GetTop(S, e);printf("The top is %d\n", e);S = push(S, 4);GetTop(S, e);printf("The top is %d\n", e);pop(S, e);printf("The top is %d\n", e);GetTop(S, e);printf("The top is %d\n", e);}
链栈的创建,入栈,出栈,获取栈顶元素相关推荐
- 【剑指offer-Java版】22栈的压入弹出序列
栈的压入弹出序列:给定两个序列,一个是压入顺序,判断另外一个是否是该压入顺序的一个弹出顺序 思路:纯粹的模拟栈的压入和弹出顺序 分别遍历压栈序列seq1和另一个序列seq2 比较当前栈顶元素和seq2 ...
- 算法笔记--简单实现栈的先入后出(FILO,First In Last Out)功能
算法笔记–简单实现栈的先入后出(FILO,First In Last Out)功能 stack 栈,是一个 先入后出(FILO,First In Last Out)的 有序列表,可以形象地理解为手枪的 ...
- python 栈的压入弹出序列
| 栈的压入和弹出序列 输入两个整数序列,第一个序列表示栈的压入顺序, 请判断第二个序列是否为该栈的弹出顺序. 假设压入栈的所有数字均不相等. 例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序 ...
- [九度][何海涛] 栈的压入压出
题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈 ...
- 数据结构与算法--举例分析法- 栈的压入弹出序列
举例分析 与上两篇问中画图方法一样,我们可以用举例模拟的方法思考分析复杂问题.当一眼不能看出问题的规律的时候,我们可以用几个具体的例子来模拟一下问题的过程.这样就和我们在程序出现问题时候的debug一 ...
- 剑指offer-21.栈的压入弹出序列
1.题目 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压 ...
- python实现栈的操作入站出站查找元素等_Python实现的栈(Stack)
前言 Python本身已有顺序表(List.Tupple)的实现,所以这里从栈开始. 什么是栈 想象一摞被堆起来的书,这就是栈.这堆书的特点是,最后被堆进去的书,永远在最上面.从这堆书里面取一本书出来 ...
- [剑指offer][JAVA]面试题第[31]题[栈的压入、弹出序列][栈]
[问题描述][中等] 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4 ...
- 剑指Offer(Java实现)栈的压入、弹出序列
题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列 1,2,3,4,5 是某栈的压入顺序,序列 4,5,3,2,1 ...
- java输出栈的弹出序列_剑指offer:栈的压入、弹出序列(Java)
1.题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是 ...
最新文章
- 用男女朋友关系解释计算机常用概念
- 【Android 内存优化】Android 原生 API 图片压缩原理 ( Bitmap_compress 方法解析 | Skia 二维图形库 | libjpeg 函数库 | libpng 函数库 )
- 《APUE》读书笔记—第十三章守护进程
- mac安装和卸载mysql_小白自学MySQL笔记(一):Mac环境的安装和启动
- 老男孩python全栈开发视频教程_老男孩Python全栈开发(92天全)视频教程 自学笔记08...
- HTML 学习笔记 day one
- Glide-源码分析(三)
- Python突破拉钩反爬机制,采集各类招聘数据
- 唐山师范学院计算机科学与技术地址,2021年唐山师范学院有几个校区,大一新生在哪个校区...
- 产生斜体的html标签,下列可以产生斜体字的 HTML 标签是_____________
- 是驴是骡,遛一遛就知道了
- 2020年数学建模国赛E题题目和解题思路
- 使用网关实现把modbus数据存入sql数据库的方案
- iOS Twitter登录无法收到回调数据
- python--爬虫51job(3.1)
- 学python要有多少英语词汇量_学习英语到底多少词汇量够用,1年能学习到1000的词汇量吗?...
- 什么是决策树?(详解)
- 1. Resnet网络详解
- Flask04_模板语法
- 【芝麻背调百科】神操作:公司给员工发解除通知,法院认定员工辞职
热门文章
- 2018-2019-2 20175227张雪莹 《Java程序设计》 实验一 Java开发环境的熟悉
- 周志华《机器学习》第一章课后习题
- 王者荣耀故事站小程序(nuxt + 小程序)
- 2020年双十一销售额破亿的新品牌达16个与往年三倍之多
- 前端token知识梳理:token如何存储?token过期如何处理?如何无感知刷新token?
- [neovim/nvim] LSP 与代码补全配置笔记
- Linux she 39 ll,linux_shell 编程学习-初识she'll
- 中秋福利PK!2017公司月饼哪家强?腾讯、阿里、百度、京东、网易等21家中秋月饼盘点!(完整版)
- 三类完整性规则mysql下规则实现短语_关系数据库有三类完整性规则,分别是参照完整性规则、用户自定义的完整性和()规则。...
- 用于宏观经济数据分析的神经网络(Matlab代码实现)