链栈的创建,入栈,出栈,获取栈顶元素

#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);}

链栈的创建,入栈,出栈,获取栈顶元素相关推荐

  1. 【剑指offer-Java版】22栈的压入弹出序列

    栈的压入弹出序列:给定两个序列,一个是压入顺序,判断另外一个是否是该压入顺序的一个弹出顺序 思路:纯粹的模拟栈的压入和弹出顺序 分别遍历压栈序列seq1和另一个序列seq2 比较当前栈顶元素和seq2 ...

  2. 算法笔记--简单实现栈的先入后出(FILO,First In Last Out)功能

    算法笔记–简单实现栈的先入后出(FILO,First In Last Out)功能 stack 栈,是一个 先入后出(FILO,First In Last Out)的 有序列表,可以形象地理解为手枪的 ...

  3. python 栈的压入弹出序列

    | 栈的压入和弹出序列 输入两个整数序列,第一个序列表示栈的压入顺序, 请判断第二个序列是否为该栈的弹出顺序. 假设压入栈的所有数字均不相等. 例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序 ...

  4. [九度][何海涛] 栈的压入压出

    题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈 ...

  5. 数据结构与算法--举例分析法- 栈的压入弹出序列

    举例分析 与上两篇问中画图方法一样,我们可以用举例模拟的方法思考分析复杂问题.当一眼不能看出问题的规律的时候,我们可以用几个具体的例子来模拟一下问题的过程.这样就和我们在程序出现问题时候的debug一 ...

  6. 剑指offer-21.栈的压入弹出序列

    1.题目 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压 ...

  7. python实现栈的操作入站出站查找元素等_Python实现的栈(Stack)

    前言 Python本身已有顺序表(List.Tupple)的实现,所以这里从栈开始. 什么是栈 想象一摞被堆起来的书,这就是栈.这堆书的特点是,最后被堆进去的书,永远在最上面.从这堆书里面取一本书出来 ...

  8. [剑指offer][JAVA]面试题第[31]题[栈的压入、弹出序列][栈]

    [问题描述][中等] 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4 ...

  9. 剑指Offer(Java实现)栈的压入、弹出序列

    题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列 1,2,3,4,5 是某栈的压入顺序,序列 4,5,3,2,1 ...

  10. java输出栈的弹出序列_剑指offer:栈的压入、弹出序列(Java)

    1.题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是 ...

最新文章

  1. 用男女朋友关系解释计算机常用概念
  2. 【Android 内存优化】Android 原生 API 图片压缩原理 ( Bitmap_compress 方法解析 | Skia 二维图形库 | libjpeg 函数库 | libpng 函数库 )
  3. 《APUE》读书笔记—第十三章守护进程
  4. mac安装和卸载mysql_小白自学MySQL笔记(一):Mac环境的安装和启动
  5. 老男孩python全栈开发视频教程_老男孩Python全栈开发(92天全)视频教程 自学笔记08...
  6. HTML 学习笔记 day one
  7. Glide-源码分析(三)
  8. Python突破拉钩反爬机制,采集各类招聘数据
  9. 唐山师范学院计算机科学与技术地址,2021年唐山师范学院有几个校区,大一新生在哪个校区...
  10. 产生斜体的html标签,下列可以产生斜体字的 HTML 标签是_____________
  11. 是驴是骡,遛一遛就知道了
  12. 2020年数学建模国赛E题题目和解题思路
  13. 使用网关实现把modbus数据存入sql数据库的方案
  14. iOS Twitter登录无法收到回调数据
  15. python--爬虫51job(3.1)
  16. 学python要有多少英语词汇量_学习英语到底多少词汇量够用,1年能学习到1000的词汇量吗?...
  17. 什么是决策树?(详解)
  18. 1. Resnet网络详解
  19. Flask04_模板语法
  20. 【芝麻背调百科】神操作:公司给员工发解除通知,法院认定员工辞职

热门文章

  1. 2018-2019-2 20175227张雪莹 《Java程序设计》 实验一 Java开发环境的熟悉
  2. 周志华《机器学习》第一章课后习题
  3. 王者荣耀故事站小程序(nuxt + 小程序)
  4. 2020年双十一销售额破亿的新品牌达16个与往年三倍之多
  5. 前端token知识梳理:token如何存储?token过期如何处理?如何无感知刷新token?
  6. [neovim/nvim] LSP 与代码补全配置笔记
  7. Linux she 39 ll,linux_shell 编程学习-初识she'll
  8. 中秋福利PK!2017公司月饼哪家强?腾讯、阿里、百度、京东、网易等21家中秋月饼盘点!(完整版)
  9. 三类完整性规则mysql下规则实现短语_关系数据库有三类完整性规则,分别是参照完整性规则、用户自定义的完整性和()规则。...
  10. 用于宏观经济数据分析的神经网络(Matlab代码实现)