首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

数据结构-

数据结构- 定义 (英语:stack)又称为堆栈或堆叠,作为一种数据结构,它按照先进后出的原则存储数据,先进入的数据被压入底,最后的数据在顶,需要读数据的时候从顶开始弹出数据(最后一个数据被第一个读出来...由于堆叠数据结构只允许在一端进行操作,因而按照后进先出(LIFO, Last In First Out)的原理运作。...isEmpty(); /** * 获取最上面的元素 * @return */ public E peek(); } 用基于数组的方式来实现一个(上篇文章数据结构...----------------- stack: [0, 1, 2, 3] right value is stack top leetCode第20题,花括号正确闭合 思路 根据数据结构特点...demo,数组,,后续还会持续更新数据结构,可能会有队列,链表,递归,红黑树,线段树等等一系列,如果感兴趣,欢迎留言。

42030

数据结构

定义 (stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为顶,相对地,把另一端称为底。...向一个插入新元素又称作进、入或压,它是把新元素放到顶元素的上面,使之成为新的顶元素;从一个删除元素又称作出或退,它是把顶元素删除掉,使其相邻的元素成为新的顶元素。...顺序 概括 设计的结构中包括数据数组以及top坐标,这里top指向的顶元素的位置,初始top为-1,代表为空 数据结构 typedef struct{ int data[MAXSIZE...->data[++(mStack->top)]=data; } 出的操作并没有修改中的数据的内容,只是移动了top的值 出需要先判断是否为空 出的同时将顶元素赋值给data //出...如下图所示 入 down向下移动,top向上移动 出 down向上移动,top向下移动 判断共享是否满了 down-1等于top时就说明满了 数据结构 typedef struct

18110
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    数据结构--(附上STL

    定义: 是一种只能在某一端插入和删除数据的特殊线性表。他按照先进先出的原则存储数据,先进的数据被压入底,最后进入的数据在顶,需要读数据的时候从顶开始弹出数据(最后被压入的,最先弹出)。...因此也称先进后出表。 允许进行插入删除操作的一端称为顶,另一端称为底。底固定,顶浮动。插入元素称为进,删除一个元素称为进内元素为零称为空。...我们今天讲一下STL(标准模板库)的,和自己实现的(顺序,链式) 先说STL的 stack stack成员函数: bool empty ( ) ————>为空返回true,否则返回false...; void pop ( ) ————>删除顶元素,出; void push(const TYPE&value)————> 插入新元素value,放置在顶进;TYPE:类型int,char…...demo.pop();//顶出 demo.top();//取出顶元素 自己写的顺序 一般都是类内声明了,类外定义,但是为了给大家直观的感受,我就写里面了,其次getTop的函数本来应该是返回top

    43730

    数据结构——

    文章目录 定义 的应用 中的专业名词 例题 习题巩固 ---- 定义 :仅在表尾进行插入和删除操作的线性表 与之对应的:当一端被称为顶,相对地,把另一端称为底。...向一个插入新元素又称作进、入或压,它是把新元素放到顶元素的上面,使之成为新的顶元素;从一个删除元素又称作出或退,它是把顶元素删除掉,使其相邻的元素成为新的顶元素。...特性:前进后出 可以想象一下沙漠之鹰的手枪,进为子弹弹入弹夹,出为子弹弹出弹夹 的应用 像浏览器的后退功能也是用来实现的, 单击后可以按访问顺序的逆序加载浏览过的网页 还有许多的文本编辑软件的...ctrl+z”的撤销功能,也是通过来实现的 中的专业名词 顶:允许插入和删除的一端 底:顶的另一端 空:不含任何元素的 还可以说是是限定仅在表尾(顶)进行插入和删除操作的线性表...插入就叫进 删除称为出 例题 某城市有一个火车站,铁轨铺设如图。

    19530

    数据结构-

    的定义 是一种特殊的线性表,仅允许在表的一端进行插入和删除运算。这一端被称为顶(top),相对地,把另一端称为底(bottom)。...向一个插入新元素又称作进、入或压(push),它是把新元素放到顶元素的上面,使之成为新的顶元素;从一个删除元素又称作出或退(pop),它是把顶元素删除掉,使其相邻的元素成为新的顶元素...所以具有“后入先出”的特点(LIFO)。 的存储结构 顺序存储于链式存储都能实现一个,其中顺序存储的形式大概是这样: ?...但是链式结构只知道头指针,查找不方便,但是插入方便,而对于而言,我们需要知道顶的位置,所以就干脆把链表头指针作为顶吧,同时由于插入方便,每次在链的开头插入一个结点很容易。.../* 顶指针减一 */ return OK; } /* 从底到顶依次对中每个元素显示 */ Status StackTraverse(SqStack S) { int i;

    713100

    数据结构

    1.的定义: (Stack)又名堆栈,它是一种重要的数据结构。从数据结构角度看,也是线性表,其特殊性在于的基本操作是线性表操作的子集,它是操作受限的线性表,因此,可称为限定性的数据结构。...表尾称为顶,相应地,表头称为底。的基本操作除了在顶进行插入和删除外,还有的初始化,判空以及取顶元素等。...-2.遍历字符串,将左括号(,[,{入。...-3.右括号到来的时候,去中取顶数据比较,是匹配的字符就出(备注:考虑为空的时候) -4.都处理完了,非空为false,否则为true 代码实现: func isValid(s string)...-2.对于路径来说只剩下..和.这两种特殊的字符,需要单独处理,..的话,需要将中的数据出,.字符的话不需要入,这两种之外的都需要做入操作。如此以来中存储的就是有效的路径字符串了。

    34120

    数据结构-

    (Stack)的基本概念 是一种重要的数据结构,它具有后进先出(Last In First Out,LIFO)的特点。可以把想象成一叠盘子,最后放上去的盘子会最先被拿走。...的基本操作 入(Push):将元素添加到的顶部。 出(Pop):从的顶部移除一个元素。 查看顶元素(Peek 或 Top):获取顶元素的值,但不移除它。...判断是否为空(IsEmpty):检查中是否有元素。 的应用场景 表达式求值:在算术表达式求值中,可以用于处理运算符的优先级和括号的匹配。...例如,将中缀表达式转换为后缀表达式,然后利用进行求值。 函数调用:在程序执行过程中,当一个函数调用另一个函数时,当前函数的执行状态会被保存到一个中(函数调用)。...撤销(Undo)操作:在许多软件应用中,撤销操作可以通过来实现。每次执行一个操作,该操作的信息被压入中。当需要撤销时,从中弹出最近的操作信息并执行撤销动作。

    6910

    数据结构 |

    01 的定义 (Stack)是限定仅在表尾进行插入和删除操作的线性表。 我们把允许插入和删除的一端称为顶(top),另一端称为底(bottom),不含任何数据元素的称为空。...的插入操作,叫做进,也叫压、入的删除操作,叫做出。 02 进变化多端 最先进的元素,不一定是最后出的。...第二种:1 进,1 出,2 进,2 出,3 进,3 出。出顺序为 123。 第三种:1 进,2 进,2 出,1 出,3 进,3 出。出顺序为 213。...第四种:1 进,1 出,2 进,3 进,3 出,2 出。出顺序为 132。 第五种:1 进,2 进,2 出,3 进,3 出,1 出。出顺序为 231。...两共享 top1 和 top2 是 1 和 2 的顶指针,只要二者的值不相等,两个就可以进行入操作。当 top1 等于 -1 时, 1 为空;当 top2等于 n 时, 2 为空。

    71790

    数据结构——

    概念 (stack)是一种形式的表,在这种数据结构中,所有的元素插入和删除都在表的一端进行,这一端称为顶(top)。向中增加一项时,叫入(push),在中删除一项时,称为出(pop)。...的实现 3.1 Contiguous Stack 顺序,在内存中连续存储,在代码上的体现就是使用数组实现。...但链还需要存储指向下一节点的指针,在某种意义上减小了内存利用率,并且在出操作时还需要进行释放内存和指针的赋值操作,效率较低。...可以使用来实现,思路如下: (1) 当遇到左括号时,入; (2) 遇到右括号时 ​ (2.1) 若为空,则不匹配,否则 ​ (2.2) 判断一下顶是不是跟该右括号匹配,并将其出 (3) 循环(...遇到操作符就取顶的两个元素出来操作,并将结果入

    27120

    3.1 数据结构

    01抽象数据类型的定义 1、是限定仅在表尾进行插入或删除操作的线性表。因此对来说,表尾端有其特殊含义,称为顶,相应地,表头端称为底,不含元素的空表称为空。...02的表示  1、有两种存储表示方法 (1)顺序:即的顺序存储结构是利用一组地址连续的存储单元依次存放自底到顶的数据元素,同时附设指针top指示顶元素在顺序中的位置。...(3)进:将一个新元素插入到顺序S的顶的上一个位置,作为新的顶元素。其主要操作是:先判断顺序是否已满,若已满,则重新分配空间,然后将顶指针加1,再将进元素插入到顶处。...(4)出操作:将元素S的顶元素删除。其主要操作是:先判断顶指针书否为空,若非空,则将顶元素取出,然后将顶指针减1。 (5)取顶操作:取出顺序S的顶元素的值。...其主要操作是:先判断顺序是否为空,若非空,则将顶元素取出。 (6)判断空:判断顺序S是否为空。若S为空则返回true,否则返回false。 (7)撤销顺序:。释放顺序S所占用的存储空间。

    3632423

    数据结构(四):

    一、的定义 是只能在一端进行插入和删除操作的线性表。表中允许进行插入、删除操作的一端称为顶。顶的位置是动态的,由一个称为顶指针的位置指示器指示。表的另一端称为底。...当中没有元素时,称为空的插入操作通常称为入或者进的删除操作一般称作出或者退的主要特点是 ”后进先出“ ,即后进的元素先出。...每次进的元素都放在原来顶元素之前,成为新的顶元素,每次出的元素都是当前顶元素。所以也被称为后进先出表。...:若 s为空则返回真,否则返回假 Push(&s, e): 进:将元素 e添加到顶 Pop(&s, &e): 出:将顶元素赋值给 e并从顶删除...GetTop(s, &e): 取顶元素:将当前顶元素的值赋值给 e DispStack(s):显示中所有元素的值:按照从顶到底的顺序显示中所有元素的值 } 二、的顺序存储结构与基本运算

    77910

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券