1.栈是一种特殊的线性结构

①栈满足线性结构

②栈特殊性:栈有特殊的存储方式,访问结构(先进先出,进和出在一个端)

2.栈的操作:

①入栈:向栈口放入数据元素(push)

②出栈:从栈口取出数据元素(pop)

栈顶指针(top):用来指向最后一个入栈元素

入栈操作:

设栈的最大长度为size,栈满不可入栈(上溢)[top=size-1]

入栈:

top=top+1;s[top]=数据元素

出栈操作:

只有栈顶元素才可出栈,栈空不可出栈

栈空条件:top=-1;

3.例子:设有序列1,2,3依次入栈,则出栈序列

出栈:1,2,3;    1,3,2;    2,1,3;    2,3,1;    3,2,1;

4.栈的应用:

例子:注意输入正整数x,输出x的二进制数

void ExchangeBin(int x)
{int a[10],top;top=-1;while(x){a[++top]=x%2;x/=2;}while(top>-1)printf("%d"a[top--]);
}

栈(stack)——什么是栈?相关推荐

  1. 用一个栈实现另一个栈的排序

    要求: 在一个栈中元素的类型为整型,现在想将该栈从栈顶到栈底按从大到小的顺序排序,只许申请一个栈,除此之外,可以申请其他变量,但是不能申请额外的数据结构 解题思路: 待排序的栈stack, 辅助栈he ...

  2. 一文搞懂栈(stack)、堆(heap)、单片机裸机内存管理malloc

    大家好,我是无际. 有一周没水文了,俗话说夜路走多了难免遇到鬼. 最近就被一个热心网友喷了. 说我的文章没啥营养,所以今天来一篇烧脑的. 哈哈,开个玩笑,不要脸就没人能把我绑架. 主要是最近研发第二代 ...

  3. 堆(heap)和栈(stack)有什么区别??

    简单的可以理解为: heap:是由malloc之类函数分配的空间所在地.地址是由低向高增长的. stack:是自动分配变量,以及函数调用的时候所使用的一些空间.地址是由高向低减少的. 预备知识-程序的 ...

  4. 在java的实现栈的插入数据_Java实现数据结构栈stack和队列Queue

    回顾JDK提供的集合类 容器(集合)框架如下: 集合类存放于java.util包中.集合类存放的都是对象的引用,而非对象本身. 集合类型主要有3种:set(集).list(列表)和map(映射). C ...

  5. 堆(heap)和栈(stack)有什么区别

    简单的可以理解为: heap:是由malloc之类函数分配的空间所在地.地址是由低向高增长的. stack:是自动分配变量,以及函数调用的时候所使用的一些空间.地址是由高向低减少的. 程序的内存分配 ...

  6. 栈(Stack) 任何程序执行前,预先分配一固定长度的内存空间

    内存是什么及其用处,但内存是不能随便使用的,因为操作系统自己也要使用内存,而且现在的操作系统正常情况下都是多任务操作系统,即可同时执行多个程序,即使只有一个CPU.因此如果不对内存访问加以节制,可能会 ...

  7. JVM 内存初学 (堆(heap)、栈(stack)和方法区(method) )(转发)

    这两天看了一下深入浅出JVM这本书,推荐给高级的java程序员去看,对你了解JAVA的底层和运行机制有 比较大的帮助. 废话不想讲了.入主题: 先了解具体的概念: JAVA的JVM的内存可分为3个区: ...

  8. 【Android 返回堆栈管理】打印 Android 中当前运行的 Activity 任务栈信息 | Activity 任务栈信息分析 | Activity 在相同 Stack 中的不同 Task

    文章目录 一.打印 Android 中当前运行的 Activity 任务栈信息 二.Activity 任务栈信息分析 三.Activity 在相同 Stack 的不同 Task 情况 一.打印 And ...

  9. 用结点实现链表LinkedList,用数组和结点实现栈Stack,用数组和结点链表实现队列Queue

    一,用结点实现链表LinkedList,不用换JavaAPI的集合框架 import java.util.Scanner;public class Main {public static class ...

  10. 栈(stack)和堆(heap)

    栈(stack)和堆(heap), Java程序在运行时都要开辟空间,任何软件在运行时都要在内存中开辟空间,Java虚拟机运行时也是要开辟空间的.JVM运行时在内存中开辟一片内存区域,启动时在自己的内 ...

最新文章

  1. qunee for html5 api,Qunee for HTML5 - 中文 : 常见问题
  2. 设计模式:选择排序(select sorting)
  3. phpcmsV9 添加内容:如何“增加复选框、下拉菜单”(含案例、截图)- 教程篇
  4. “宅家十大热销商品”榜单:确认过眼神,都是自己剪头发的人
  5. nyoj35 表达式求值
  6. java 阶乘算法_Java 实现阶乘算法
  7. 基于Visual studio+Opencv+Python的透视变换、图像处理(灰度化、二值化、Canny边缘检测)模型——以2015数学建模A题太阳影子定位为例
  8. 分享收集软件教程的微信小程序
  9. win11 外接键盘个别按键(win,alt)失灵
  10. discuz的css文件在哪里,谁能告诉我discuz模板文件在哪个文件夹下?
  11. 2021ACA世界大赛中国赛区完美收官,创意设计收获百万级关注
  12. 样本量太小怎么做结构方程模型?
  13. 设计模式之简单化_Mediator中介者模式_只有一个仲裁者
  14. 12306能删候补订单记录_12306候补购票功能使用教程:一次只能提交1个候补订单...
  15. 通信研究生适合发表的优质期刊(中文)
  16. 均值已知检验方差_χ2检验教案:独立性检验的z统计量
  17. sap 为什么创建的利润中心组不能使用_定义利润中心(Profit Center)
  18. 应用运筹学基础:线性规划 (1) - 极点与基可行解
  19. 在U盘上安装debian linux
  20. systemverilog中rand机制的 $urandom_range()函数

热门文章

  1. 基尔霍夫电压定律解析
  2. EasyDl快速上手教程
  3. 总后台顶部实现站内信功能
  4. Xcode The 'Apple Push Notification' feature is only available to users enrolled in Apple Develo...
  5. h5 app 实现页面刷新
  6. linux下Kdevelop开发基本步骤
  7. android黑色背景图片,Android png透明图片转jpg时背景变黑的解决方法
  8. Ubuntu 下大文件夹分卷压缩
  9. 北京华为HCIE网络工程师快速完成设备流量控制和风暴控制-ielab网络实验室
  10. John A·Rogers报告分享