水水的实现一下链式栈。

#include <cstdio>
#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;typedef struct Sta
{int data ;struct Sta *next ;
}Stack ;void createStack(Stack *&s)   //建立一个带头结点的链栈
{s = (Stack*)malloc(sizeof(Stack)) ;s->next = NULL ;printf("新栈创建成功\n") ;
}void destroyStack(Stack *&s)   //销毁一个链栈
{Stack *p = s ;Stack *q = s->next ;while(q != NULL){free(p) ;p = q ;q = p->next ;}free(p) ;
}int isEmpty(Stack *s)    //判定
{return (s->next == NULL) ;
}void pushStack(Stack *&s,int e) //将元素e进栈
{Stack *p ;p = (Stack*)malloc(sizeof(Stack)) ;p->data = e ;p->next = s->next ;s->next = p ;printf("%d已经入栈成功\n",e) ;
}void popStack(Stack *&s,int &e) //出栈操作,并且将出栈的元素保存到e中
{Stack *p = s->next ;e = p->data ;s->next = p->next ;free(p) ;printf("出栈成功\n") ;
}void getTop(Stack *&s,int &e)
{if(s->next == NULL){printf("栈为空,无法取得栈顶元素\n") ;return  ;}else{e = s->next->data ;}
}int main()
{Stack *s ;createStack(s) ;pushStack(s,11) ;pushStack(s,12) ;if(isEmpty(s)){printf("栈为空\n") ;}else{printf("栈不为空\n") ;}int popNum ;popStack(s,popNum) ;printf("出栈的元素为%d\n",popNum) ;int top ;getTop(s,top) ;printf("栈顶元素是%d\n",top) ;
}

转载于:https://www.cnblogs.com/emoji/p/4436863.html

栈的链式存储及常用操作相关推荐

  1. 链式存储mysql_链栈:栈的链式存储结构

    前面讲完了栈的顺序存储结构,我们现在来看看栈的链式存储结构,简称为链栈. 链栈是没有附加头结点的运算受限的单链表.栈顶指针就是链表的头指针. 栈是用栈顶来做插入和删除操作,那么对于链栈的栈顶放在链表的 ...

  2. 3.3 栈的链式存储结构

    <?php header("content-type:text/html;charset=utf-8"); /*** 栈的链式存储结构的基本操作**包括* 1.初始化 __c ...

  3. 栈的链式存储结构及实现

    今天学习栈的链式存储结构. 链式存储结构最大的好处就是没有空间的限制,通过指针指向将结点像一个链子一样把结点链接,那么栈的同样可以用于链式存储结构. 栈的链式存储结构,简称为链栈.想想看,栈只是栈顶来 ...

  4. 数据结构与算法——栈的链式存储结构及实现

    目录 前言 一.栈的链式储存结构 二.栈的链式储存结构的操作 2.1   进栈操作 2.2   出栈操作 总结 前言 讲完了栈的顺序储存结构,我们现在来看看栈的链式存储结构,简称为链栈. 由于单链表中 ...

  5. 关于栈的链式存储结构

    之前在创建栈的链式存储结构时,想当然误以为栈的top指针会指向链表的尾结点,在创建链表结构时的写法误写为: for(j=0;j<i;j++){         temp=(struct Node ...

  6. 3.2_栈_链式存储结构(链表形式)

    [链式存储结构] 栈的链式存储结构,简称链栈. [具体实现] package com.Higgin.LinkStack;import java.util.EmptyStackException;/** ...

  7. 栈的链式存储框架搭建

    栈的链式存储 链式栈的节点 typedef struct LINKNODE{struct LINKNODE* next; }Linknode; 链式栈 typedef struct LINKSTACK ...

  8. 栈的链式存储结构(企业级链表)

    #include<stdio.h> #include<stdlib.h> #include<string.h> struct StackNode{struct St ...

  9. 数据结构(五)---栈的链式存储的实现---java版

    ------------------------------------------------链栈的节点设置--------------------------------------------- ...

最新文章

  1. 如何给h2添加php标记,如何为所有h2标签添加数字 - WordPress - srcmini
  2. vim - 查找替换
  3. c/c++中const用法总结
  4. spring学习(44):p名称空间注入
  5. Python之list对应元素求和
  6. TED演讲:数据科学家最重要的技能是什么
  7. 线程安全的map_面试必问-几种线程安全的Map解析
  8. 2月份全球制造业PMI为55.6% 已连续8个月保持在50%以上
  9. 表单中的日期 字符串和Javabean中的日期类型的属性自动转换
  10. 如何取到两个日期中的每一天,并且打印出来
  11. 奈飞文化手册_2019春节读书笔记【奈飞文化手册】
  12. mac使用nvm安装node进行多版本管理
  13. noip2017棋盘(超级详细)
  14. HTML分页符怎么设置,HTML中的分页符
  15. matlab学习笔记 repmat函数与kron函数之区别
  16. http协议中的1xx,2xx,3xx,4xx,5xx状态码分别表示什么?列举常见错误码及含义
  17. Android中使用webview加载网页上的按钮点击失效
  18. 思科 Packet Tracer 实验六 路由协议基本配置
  19. 零基础入门金融风控-贷款违约预测_Task1
  20. Kubernetes 企业集群建设规划

热门文章

  1. Marshal类的简单使用
  2. SUSE下使用syslog-ng部署日志服务器
  3. MSDE 1433端口
  4. 如果可能我们还是做好基础的事情吧
  5. 工业界和学术界的思考
  6. my current understanding of learning and graduate studies
  7. Disruptor-net
  8. ParaEngine 一个同事的公司的开源引擎
  9. Dictionary,hashtable, stl:map有什么异同?
  10. 设计模式实战-策略模式(Strategy Pattern)