文章 2024-01-30 来自:开发者社区

栈和队列修炼指南(基本操作+OJ练习)

栈和队列修炼指南1. 栈1. 1 概念及结构栈:是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素的操作。进行数据插入和删除操作的一端称为栈顶,另一端为栈底。栈中的数据元素遵守后进先出原则(LIFO)原则压栈:栈的插入操作称为进栈/压栈/入栈,其位置在栈顶出栈:栈的删除操作称为出栈,其位置也在栈顶1.2 分类(数组栈和链式栈)数组栈(推荐方式,因为在数组尾插代价更小)链式栈:相较数组栈无....

栈和队列修炼指南(基本操作+OJ练习)
文章 2024-01-23 来自:开发者社区

用两个栈实现队列

一、栈的基本结构及其接口//栈的结构定义 typedef int STDataType; typedef struct Stack{ STDataType *a; int top; int capacity; }ST; //栈的初始化 void STInit(ST* pst) { pst->a=NULL; pst->top=0; pst...

Go语言核心编程 - 数据结构和算法

47 课时 |
1800 人已学 |
免费
开发者课程背景图
文章 2024-01-23 来自:开发者社区

用两个队列实现栈

一、队列的基本结构及其接口typedef int QDataType; //队列的结构定义 typedef struct QueueNode{ QDataType val; struct QueueNode *next; }QNode; //用结构体管理队列 typedef struct Queue{ QNode* phead; QNode* ptail; ...

文章 2024-01-23 来自:开发者社区

深入了解队列:探索FIFO数据结构及队列

1.队列的概念及结构队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out)入队列:进行插入操作。此端称为队尾出队列:进行删除操作。此段称为队头假设入队:A B C D那么出队:A B C D2.队列的实现队列也可以数组和链表的结构实现,使用链表的结构来实现更适合一些,因为使用数组的结构,出队列这个操作在数组头上出....

深入了解队列:探索FIFO数据结构及队列
文章 2024-01-19 来自:开发者社区

【栈和队列(2)】

前言队列和栈是相反的,栈是先进后出,队列是先进先出,相当于排队打饭,排第一的是最先打到饭出去的。队列队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(FirstIn First Out)入队列:进行插入操作的一端称为队尾(Tail/Rear)出队列:进行删除操作的一端称为队头队列方法队列模拟实现public class MyLinkQueue {....

【栈和队列(2)】
文章 2024-01-19 来自:开发者社区

【栈和队列(1)(逆波兰表达式)】

前言什么是栈(Stack)栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。遵循先进后出的原则。类似于:一串羊肉串,后串进去的肉最先被吃到。底层是数组栈方法栈的模拟实现//接口 public interface IStack { //放元素 void push(int x); //取元素 int...

【栈和队列(1)(逆波兰表达式)】
文章 2024-01-17 来自:开发者社区

栈与队列相关OJ题

一、前言前面学习了栈与队列的相关知识,及其基本实现。今天我们就来看看他们在题目中的应用吧。此篇博客仅记录博主自己学习的一些有关栈与队列的基础OJ题,分享自己的做题过程和想法,如有错误,还请各位指出,这样能帮助我进步,谢谢。话不多说,那我们就直接开始吧。 二、用队列实现栈用队列实现栈题目描述:请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop ....

栈与队列相关OJ题
文章 2024-01-12 来自:开发者社区

剑指 Offer 09:用两个栈实现队列

题目题目链接用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入: ["CQueue","appendTail","deleteHead","deleteHead"] [[],[3],[],[]] 输出:[null....

剑指 Offer 09:用两个栈实现队列
文章 2024-01-10 来自:开发者社区

栈和队列及表达式求值问题

栈、队列及其常见变形、实战应用栈(stack)队列(queue)双端队列(deque)优先队列(priority queue)一般的队列是以“时间”为顺序的(先进先出)优先队列按照元素的“优先级”取出“优先级”可以是自己定义的一个元素属性许多数据结构都可以用来实现优先队列,例如二叉堆、二叉平衡树等时间复杂度栈、队列Push (入栈、入队) : 0(1)Pop (出栈、出队) : 0(1)Acce....

栈和队列及表达式求值问题
文章 2024-01-08 来自:开发者社区

今天谈谈栈和队列的区别?

栈和队列是两种常见的数据结构,它们在元素的插入和删除方式上有所区别。栈:栈是一种后进先出(Last-In-First-Out,LIFO)的数据结构。在栈中,元素只能从栈顶添加或删除。添加元素称为压栈(push),删除元素称为弹栈(pop)。最后被压入栈的元素将会第一个被弹出。举个例子,你可以把栈想象成一叠盘子,最后放上去的盘子会最先被取走。栈的实现(代码):class Stack { con...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

算法编程

开发者社区在线编程频道官方技术圈。包含算法资源更新,周赛动态,每日一题互动。

+关注