首页 > 编程语言 >数据结构与算法从淬体到元婴day05之栈

数据结构与算法从淬体到元婴day05之栈

时间:2024-07-25 11:25:03浏览次数:12  
标签:栈为 之栈 元素 栈顶 day05 后进先出 淬体 移除 main

数据结构栈(Stack)是一种遵循后进先出(LIFO, Last In First Out)原则的有序集合。栈只能在一端(称为栈顶,Top)进行插入(push)和删除(pop)操作,另一端(称为栈底,Bottom)是固定的。这种特性使得栈在解决具有后进先出特性的问题时非常有用,比如函数调用、括号匹配、撤销操作等。

栈的基本操作

  1. push(element): 向栈顶添加一个元素。如果栈已满,则可能导致溢出(overflow)。
  2. pop(): 移除栈顶的元素,并返回该元素。如果栈为空,则可能导致下溢(underflow)错误。
  3. peek() 或 top(): 返回栈顶元素的值,但不从栈中移除它。如果栈为空,则可能导致错误。
  4. isEmpty(): 检查栈是否为空。
  5. isFull(): 检查栈是否已满(这个操作依赖于栈的实现方式,不是所有栈都支持)。
  6. size(): 返回栈中元素的数量。 

栈的实现

栈可以通过数组或链表来实现。

使用数组实现栈

Stack.hpp

主函数main

 

 

使用单链表实现栈

listStack.hpp

 

主函数main

 

 

 

 

标签:栈为,之栈,元素,栈顶,day05,后进先出,淬体,移除,main
From: https://blog.csdn.net/Wumingdegushi/article/details/140628759

相关文章

  • 嵌入式学习day05
    以下几个位置不允许创建文件和文件夹/:整个linux核心目录/home这里管理家目录,会危害用户数据/mnt/hgfs这个是挂载目录,以后所有的共享和外设都是挂载在这里虚拟机网络模式1.桥接模式网络相关ping语法:ping[选项]目标IP/目标网址说明:测试网络是否畅通执行者:所......
  • 数据结构与算法从淬体到元婴day04之堆
    堆堆的定义堆是一种特殊的完全二叉树结构,其每个节点的值都遵循一定的堆属性。堆在物理上是通过数组实现的,逻辑上则表现为树形结构。堆的性质堆总是一棵完全二叉树。堆中某个节点的值总是不大于(最大堆)或不小于(最小堆)其父节点的值。将根节点最大的堆称为最大堆或大根堆,根节点......
  • ## 学习笔记day05-C语言基础:控制语句 if else、do while、for循环
    day05六、控制语句1.顺序语句​在模块内部没有分支、跳转、循环等条件时,程序按照顺序执行2.分支语句选择语句if...else单分支if(表达式){代码块;} step:先判断表达式是否为真(非0为真,0为假)如果为真,进入if选择结构,执......
  • vue学习day05-watch侦听器(监视器)、Vue生命周期和生命周期的四个阶段、、工程化开发和
    13、watch侦听器(监视器)(1)作用:监视数据变化,执行一些业务逻辑或异步操作(2)语法:1)简写语法——简单数据类型,直接监视①Watch:{数据属性名(newValue,oldValue){一些业务逻辑或异步操作},‘对象·属性名’(newValue,oldValue){一些业务逻辑或异步操作}}②示例:结果:2)完整写法......
  • 【云岚到家】-day05-7-项目迁移-活动管理
    【云岚到家】-day05-7-项目迁移-活动管理5项目迁移-活动管理5.1迁移目标5.2签到活动5.2.1需求分析5.2.2系统设计5.2.2.1表设计5.2.2.2接口设计5.2.2.3如何计算连续签到天数5.2.2.4如何获取匹配签到奖励规则5.2.2.5签到代码5.3优惠券活动5.3.1需求分析5.3.2......
  • PHP数据结构之栈
    本文由 ChatMoney团队出品栈(Stack)是一种后进先出(LastInFirstOut,LIFO)的数据结构,它只允许在一端(称为栈顶)进行插入和删除操作。栈的应用非常广泛,例如在编程语言的函数调用中,每次函数调用都会将一个新的帧压入栈中,当函数返回时,该帧会被弹出。此外,栈还常用于解决某些算法问题,......
  • JAVA学习day05
    继承supersuper();super调用父类的构造方法,且必须在构造方法的第一行。this();调用本类的构造方法。super只能出现在子类的方法或者构造方法中。super和this不能同时调用构造方法。this代表调用当前类的对象super代表调用父类的对象this在没有继承的情况下也能使用......
  • C++从淬体到元婴day10之模板
    2024/6/30模板概念:在C++中,模板是一种泛型编程的工具,它允许程序员编写与类型无关的代码。作用:通过使用模板,你可以编写一种可以处理多种数据类型的函数或类,而无需为每种数据类型编写单独的实现。分类:函数模板和类模板函数模板建立一个通用函数,其函数返回值类型和形参类......
  • 11.优化算法之栈
    1.删除字符串中的所有相邻重复项可以用数组模拟栈结构 classSolution{publicStringremoveDuplicates(Strings){if(s.length()<=1){returns;}StringBufferret=newStringBuffer();for(inti=0;i<s......
  • # 机器学习day05
    张量元素类型转换data.type(torch.DoubleTensor)data=torch.full([2,3],10)print(data.dtype)#将data元素类型转换为float64类型data=data.type(torch.DoubleTensor)print(data.dtype)#转换为其他类型#data=data.type(torch.ShortTensor)#data=......