zoukankan      html  css  js  c++  java
  • 栈的概念

    栈的概念

    栈是用来存储逻辑关系为 "一对一" 数据的线性存储结构,如图 1 所示。

    栈只能从表的一端存取数据,另一端是封闭的,如图 1 所示;
    在栈中,无论是存数据还是取数据,都必须遵循"先进后出"的原则,即最先进栈的元素最后出栈。
    拿图 1 的栈来说,从图中数据的存储状态可判断出,元素 1 是最先进的栈,当需要从栈中取出元素 1 时,根据"先进后出"的原则,需提前将元素 3 和元素 2 从栈中取出,然后才能成功取出元素 1。
    栈是一种只能从表的一端存取数据且遵循 "先进后出" 原则的线性存储结构。
    栈的开口端被称为栈顶,封口端被称为栈底。因此,栈顶元素指的就是距离栈顶最近的元素,拿图 2 来说,栈顶元素为元素 4;同理,栈底元素指的是位于栈最底部的元素,图 2 中的栈底元素为元素 1。

    栈的特点

    进栈和出栈
    栈的两种操作:
    向栈中添加元素,叫"进栈"(入栈或压栈);
    从栈中提取出指定元素,叫"出栈"(或弹栈);

    栈的具体实现

    栈是一种 "特殊" 的线性存储结构,具体实现有以下两种方式:
    1.顺序栈:采用顺序存储结构可以模拟栈存储数据的特点,从而实现栈存储结构;
    2.链栈:采用链式存储结构实现栈结构;

  • 相关阅读:
    2019 CCSU GOLD!!!
    HDU 3397 Sequence operation(线段树区间染色加区间合并)
    浅谈线段树区间更新里的懒标记
    HDU 3308 LCIS(线段树区间合并)
    51Nod 1593 公园晨跑(RMQ,ST表)
    第四次作业
    lintcode-166-链表倒数第n个节点
    lintcode-163-不同的二叉查找树
    lintcode-162-矩阵归零
    lintcode-161-旋转图像
  • 原文地址:https://www.cnblogs.com/LJA001162/p/11180152.html
Copyright © 2011-2022 走看看