首页 > 其他分享 >2024.10.7(数据结构的栈)

2024.10.7(数据结构的栈)

时间:2024-10-12 08:59:22浏览次数:1  
标签:2024.10 top 元素 MAXSIZE base front 数据结构 rear

顺序栈
是利用顺序存储结构实现的栈,指针top指示栈顶在顺序栈的位置。

base为存储空间基地址,S.top-S.base 是栈中元素的个数,类似Length。
栈为空时:S.topS.base;
栈满时:S.top-S.baseMAXSIZE;
顺序栈,top在最高元素的上一个,base位置是最低元素,故取栈顶元素要取top-1的:
队列
先进先出。头是front,尾是rear;

在非空队列中,头指针始终指向队头元素的位置(实位以在),尾指针指向队尾元素的下一个元素(虚位以待)。
队列为空时:Q.frontQ.rear;
初始化时都为0;
加入一个元素,Q.rear++;删去一个元素时,Q.front++;
队长:Q.rear-Q.front;
存在假上溢现象。
(Q.base是基地址)
循环队列
队长:(Q.rear-Q.front+MAXSIZE)%MAXSIZE;
队满:Q.front(Q.rear+1)%MAXSIZE;
循环队列入队更新方式:
if((Q.rear+1)%MAXSIZEQ.front) return ERROE;//满
Q.base[Q.rear]=e;//因为是虚位以待的
Q.rear=(Q.rear+1)%MAXSIZE;
出队:
if(Q.rear
Q.front) return ERROR;//空
e=Q.base[Q.front];
Q.front=(Q.front+1)%MAXSIZE;

标签:2024.10,top,元素,MAXSIZE,base,front,数据结构,rear
From: https://www.cnblogs.com/yangsongduo/p/18459783

相关文章

  • 数据结构与算法 - 单链表 & 双链表 -- 概念+实现
    文章目录前言一、顺序表的缺陷二、链表是如何设计的?三、链表的分类四、链表的概念及其结构1、链表的概念:2、链表的结构五、不带头单向不循环链表的实现(一)、SList.h的实现(二)、SList.c的实现1、初始化2、创建结点3、头插4、尾插4、头删5、尾删6、指定p......
  • 文件管理方案参考 2024.10.12
    文件管理方案参考2024.10.12说明:此文档中的文件是指手机、平板电脑、笔记本电脑等电子设备在使用过程中新建、接收、重命名、移动、编辑的电子文件。例如:Word文档(.docx)、Excel表格(.xlsx)、Photoshop图片(.jpg)、酷我音乐盒无损音乐歌曲(.flac)、国语中字电影视频(.MP4)、视频教程(.AVI)。......
  • python学习第二天(2024.10.11)
    python下载官网https://www.python.org/点击Downloads选择安装版本,选择操作系统选择操作系统位数,选择下载文件格式(ZIP、exe)下载安装(安装路径不能有中文和空格)验证是否安装成功win+r,输入cmd,直接输入python,显示正确安装版本及安装成功环境变量配置......
  • 【趣学C语言和数据结构100例】
    【趣学C语言和数据结构100例】问题描述一个球从100m高度自由落下,每次落地后反弹回原高度的一半,再落下,求它在第10次时共经过多少米,第10次反弹多高。猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早上又将剩下的桃子吃掉一......
  • Redis原理篇 之数据结构
    Redis原理篇之数据结构文章目录Redis原理篇之数据结构1动态字符串SDS1.1SDS介绍1.2SDS扩容1.3SDS优点2IntSet2.1IntSet介绍2.2IntSet升级2.3总结3Dict3.1Dict的原理3.2Dict的扩容3.3Dict的收缩3.4Dict的rehash3.5总结4ZipList4.1ZipList原理4.2Zi......
  • HALCON数据结构之数组
    1.1Tuple数组的基本操作*1、Tuple数组元素的创建*1.1、创建一个空数组assign([],empty_tuple)//采用赋值操作empty_tuple:=[]//采用赋值操作*1.2、创建一个整型数组assign([1,2,3,4,5,6,7,8,9,10],tupleInt1)//采用赋值操作tupleInt1:=[1,0,3,4,5,6,7,8,9]/......
  • 数据结构:快排
    注:所有的快排针对无重复大量数据是很快的,但是针对有重复大量数据的排序是很慢的;1.霍尔(hoare)版本时间复杂度:O(N*logN)稳定性:不稳定;在fun()函数while判断时一不小心就会存在越界和和死循环问题;霍尔版本的快排,代码如下:主要实现再func()和quick()函数中intfunc(intarr[],in......
  • 【数据结构】深度解析堆排序
    目录......
  • 2024.10.11总结
    本文于github博客同步更新最简单但挂分最惨的一集。唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了唐死我了......
  • 2024.10.11 test
    A平面上给出若干个点,求两两点之间曼哈顿距离比欧几里得距离的最大与最小值。\(n\le10^6\)。不难发现最小值求的就是线段斜率最接近\(0\)的线段,最大值就把每个点绕源点旋转\(45\)度即可。这个东西考虑按照\(y\)坐标排序,\(y\)相同的按照\(x\)排序,有贡献的只有相邻点。......