认识:
栈和队列是线性表的子集
(是插入和删除位置受限的线性表)

一.栈:

1.什么是栈?
栈是一种只能在一端插入或删除操作的线性表

2.栈的特点?
后进先出

3.栈的存储结构
3.1顺序栈
假设栈的元素个数最大不超过正整数MaxSize
元素都具有同一数据类型,ElemType
typedef struct
{
ElemType data[MaxSize]; //存放栈的元素
int top; //栈顶指针
}SqStack; //声明顺序栈类型

3.2链栈
链栈中数据节点的类型LiStack定义如下:
tydedef struct linknode
{
ElemType data;//数据域
struct linknode * next;//指针域
} ListStack;//声明链栈节点类型

二. 队列

1.什么是队列?
仅限于在表的一端插入,另一端删除的线性表

2.队列的特点?
先进先出

3.队列的存储结构

3.1顺序队
假设队列的元素个数最大不超过正整数MaxSize
元素都具有同一数据类型,ElemType
typedef struct
{
ElemType data[MaxSize];
int front,rear;//队首和队尾指针
}SqQueue; //声明顺序队的类型

2.链队
链队中的数据节点的类型QNode定义如下:
typedef struct qnode
{
ElemType data;
struct qnode * next;
}QNode; //声明链队数据节点的类型

链队节点的类型LiQueue定义如下:
typedef struct
{
QNode * front;//队头指针
QNode * rear;//队尾指针
}LiQueue;//声明链队类型

栈和队列存储结构总结相关推荐

  1. 数据结构(C++版) 栈的链接存储结构及实现

    数据结构(C++版) 栈的链接存储结构及实现 #include<iostream.h> struct node {     int data;     node *next; }; cla ...

  2. java链式栈_Java栈之链式栈存储结构实现

    一.链栈 采用单链表来保存栈中所有元素,这种链式结构的栈称为链栈. 二.栈的链式存储结构实现 package com.ietree.basic.datastructure.stack; /** * 链 ...

  3. 数组队列存储结构的简单实现例子

    #include<stdio.h> #include <malloc.h> #include <stdlib.h> #define NUM 7 /* *队列是一个理 ...

  4. 什么是栈,栈存储结构详情

    什么是栈,栈存储结构详情 同顺序表和链表一样,栈也是用来存储逻辑关系为一对一数据的线性存储结构,如图所示: 从图1我们看到,栈存储结构与之前学的线性存储有所差异,这源于栈对数存和取的过程有特殊的要求: ...

  5. 从无到有算法养成篇-栈和队列·队列

    一.队列的定义 队列是啥? 数据从表的一端进,从另一端出,且遵循 "先进先出" 原则的线性存储结构就是队列. 队列的两个基本操作:入队将一个数据放到队列尾部:出队从队列的头部取出一 ...

  6. 数据结构之栈与队列(二)

    什么是队列 队列和栈一样,也是一种对数据的"存"和"取"有严格要求的线性存储结构.与栈不同的是,队列的两端都"开口",要求数据只能从一端进, ...

  7. 数据结构笔记(二) 栈和队列(C语言描述)

    数据结构(二) 栈和队列 栈 顺序栈 存储结构 #define MAXSIZE 50 #define SElemType int typedef struct{SElemType *top;SElem ...

  8. 数据结构51题之栈和队列18题

    创作不易,点个关注加个收藏再走,防止找不到 目录 一.栈系列基础8道题 1.顺序栈的建立 2.顺序栈的入栈 3.顺序栈的出栈 4.顺序栈栈顶元素的获取 5.链栈的建立 6.链栈的入栈 7.链栈的出栈 ...

  9. c++ 队列_Day 5:用两个栈实现队列

    剑指Offer_编程题--用两个栈实现队列 题目描述: 用两个栈来实现一个队列,完成队列的push和pop操作.队列中的元素为int类型 具体要求: 时间限制: C/C++ 1秒,其他语言2秒 空间限 ...

最新文章

  1. 系统权限oracle,oracle系统权限
  2. MATLAB编程经典程序 素数的判断,求0~100素数之和
  3. Android之使用Android-AQuery异步加载图片(一)
  4. 关于WEB ServiceWCFWebApi实现身份验证之WebApi篇
  5. c语言 static 关键字的作用
  6. 关于 Angular 项目类型为 library 的工程使用 tsconfig.json 的问题
  7. WORD列表缩进的文本起始点
  8. 精通Windows Sockets 网络开发-基于Visual C++实现
  9. java观察者模式举例
  10. 纵横捭阖 《鬼谷子》
  11. git error: You have not concluded your merge (MERGE_HEAD exists).
  12. 幼儿园手工之自制时钟_「时钟手工」幼儿园玩教具手工时钟,培养孩子的时间观念...
  13. 消遣时间的小程序有哪些?这3个好玩又有趣的游戏小程序送给你!
  14. 富士胶片集团发布2021财年上半年度财报;罗克韦尔自动化推出新的远程访问解决方案 | 全球TMT...
  15. LWIP开发 | scoket | tcp | client
  16. 国内外遥感类核心期刊汇总
  17. 利用MyBatis实现CRUD操作
  18. 回归(Regression )
  19. python第二周基本图形绘制
  20. Velocity中使用FCKeditor(FCKeditor for java)

热门文章

  1. golang 使用 protobuf 的教程
  2. seci-log 1.11 发布 增加了ftpserver,远程ftp,sftp采集简化配置等功能
  3. SQL SERVER错误:已超过了锁请求超时时段。 (Microsoft SQL Server,错误: 1222)
  4. 用ldap方式访问AD域的的错误解释
  5. 打造开发者的win7
  6. 使用VMware Workstation搭建基于Linux的Oracle 10g RAC
  7. 隔壁组Leader降级了!从不pua,亲自写代码,自己加班也不让下属加班!
  8. 深入剖析RocketMQ源码-NameServer
  9. 大厂程序媛的特殊烦恼:男朋友工资只有自己的60%,天天阴阳怪气!
  10. 上周我面了个三年 Javaer,这几个问题都没答出来