栈和队列介绍,与栈和队列经典题目

简介:

@[TOC]

前言:

介绍顺序表中的栈和队列,

栈的定义

栈:一种特殊的线性表,其 只允许在固定的一端(栈顶)进行插入和删除元素操作。进行数据插入和删除操作的一端称为 栈顶,另一端称为 栈底。栈中的数据元素遵守 后进先出 -––LIFO(Last In First Out)的原 则。

栈的原则

  • 栈的入数据和出数据都在栈顶!!!!!
  • 要想获得栈中里面的数据,需要pop完该数据的前面所有数据,这是栈的性质决定的,
  • 栈中2个关键字:

    • 入栈(进栈)–push,
    • 出栈—pop

栈的功能复写

栈可以通过数组,也可以通过链表实现,但是因为先进后出,的特点,数组更有利于栈功能的实现,链表pop时,需要一个一个访问到NULL结点前的结点,效率很低。

栈功能复写,博客

队列

队列的定义

队列: 只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out)

入队列(push):进行插入操作的一端称为队尾

出队列(pop):进行删除操作的一端称为队头

由队列的“先入先出”可以发现,链表队列很适合,数组栈在pop时,效率低

队列原则

数据只能从队尾入,队头出,这于栈的栈顶入,栈顶出是不一样的。

队列的功能复写

对于队列的“先进先出”的特点,在构建结构体是,需要指向头结点的指针,和队尾指针

博客

栈与队列题目

博客

相关文章
|
3天前
栈的几个经典应用,真的绝了
文章总结了栈的几个经典应用场景,包括使用两个栈来实现队列的功能以及利用栈进行对称匹配,并通过LeetCode上的题目示例展示了栈在实际问题中的应用。
栈的几个经典应用,真的绝了
|
1天前
|
负载均衡 网络协议 安全
DKDP用户态协议栈-kni
DKDP用户态协议栈-kni
|
1天前
|
负载均衡 网络协议 安全
DPDK用户态协议栈-KNI
DPDK用户态协议栈-KNI
|
1天前
|
测试技术
【初阶数据结构篇】栈的实现(附源码)
在每一个方法的第一排都使用assert宏来判断ps是否为空(避免使用时传入空指针,后续解引用都会报错)。
|
4天前
|
存储 网络协议 Linux
用户态协议栈06-TCP三次握手
用户态协议栈06-TCP三次握手
|
1天前
|
测试技术
【初阶数据结构篇】队列的实现(赋源码)
首先队列和栈一样,不能进行遍历和随机访问,必须将队头出数据才能访问下一个,这样遍历求个数是不规范的。
|
4天前
|
算法
【数据结构与算法】优先级队列
【数据结构与算法】优先级队列
6 0
|
4天前
|
存储 算法
【数据结构与算法】队列(顺序存储)
【数据结构与算法】队列(顺序存储)
5 0
|
4天前
|
存储
全局变量和局部变量在堆和栈的区别
全局变量和局部变量在堆和栈的区别
12 0
|
5天前
|
存储 人工智能 运维
高质量存储力发展问题之浪潮信息发布的大模型智算软件栈的定义如何解决
高质量存储力发展问题之浪潮信息发布的大模型智算软件栈的定义如何解决
8 0