zoukankan      html  css  js  c++  java
  • 上节课对数据结构有了基本了解,知道数据结构分为逻辑结构和存储结构。逻辑结构又分为线性结构和非线性结构,这节课要讲的栈就是典型的线性结构。古代有客栈,货栈,马栈。客栈就相当于今天的宾馆,一端开口另一端封闭

     栈闭口的一端叫栈底,开口的一端叫栈顶,无论出栈还是进栈都是在顶部进行

     

     栈在实际使用中是怎么工作的呢?

    每个栈在使用初都先定义一个大小,现在假设一个栈的大小是10,里面存储10个数字,假设10这一端是开口的。现在定义好了开始工作前,栈顶和栈底的指针都是指向栈底1前面的,也就是1前面0。

     现在开始入栈,现在35入栈(从10进来到1这里完毕),然后栈底指针不变指向0,栈顶指针开始指向1了,1现在就是栈顶元素,

    现在68入栈,从10到2这个位置,栈底指针还是不变,栈顶指针指向2,

     现在出栈,先68出栈

     

     可以把10作为栈底,还可以把3作为栈底,因为栈是一种逻辑结构,数组是存储结构,没有人规定必须从0开始存储。

     

     说了这么多,在考试中让计算栈里面有多少元素的时候还要具体问题具体分析。

  • 相关阅读:
    iOS 字典实现原理
    IOS中armv7,armv7s,arm64以及i386和x86_64讲解
    SDWebImage源码解析
    iOS Runtime的消息转发机制
    二叉树的遍历
    LINUX 常用命令 ps 详解
    LINUX 文件权限详解
    LINUX查看内存使用情况 free
    PHP isset() empty() isnull() 的区别
    PHP unset()函数销毁变量 但没有实现释放内存
  • 原文地址:https://www.cnblogs.com/djlindex/p/12121481.html
Copyright © 2011-2022 走看看