王道计算机考研 数据结构C语言复现-第六章-队列

这篇具有很好参考价值的文章主要介绍了王道计算机考研 数据结构C语言复现-第六章-队列。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 这篇文章收录了王道考研课程中涉及的数据结构的所有代码。此外,本博客可能会添加一些额外的代码(不仅限于王道考研),因为408考试中会频繁考察一些冷门的知识点,所以这篇博客会涵盖所有相关的代码。这也是我数据结构的第一轮复习,希望能与大家共同进步。由于博客篇幅的限制,可能无法一次性包含所有内容,欢迎指出代码错误部分!!!文章来源地址https://www.toymoban.com/news/detail-812557.html

你想要的都在下面!!!

// @FileName  :DuiLie.c
// @Time      :2023/8/14 20:49
// @Author    :YKW
# include <stdio.h>
# include <stdbool.h>
# include <stdlib.h>
//队列(Queue)只允许在一段进行插入(入队、队尾),在另一端删除的线性表
//顺序队列
#define MaxSize 10
typedef struct{
    int data[MaxSize];
    int front,rear;
    //int size;//计数变量,判断队列空满,插入加一,删除减一
    //int tag;//每次删除,=0,每次插入,=1
    //则队满:front==rear&&tag==1;
    //队空:front==rear&&tag==0;
}SqQueue;
void InitQueue(SqQueue *Q){
    Q->front=Q->rear=0;
}
//入队
bool EnQueue(SqQueue *Q,int x){
    if((Q->rear+1)%MaxSize==Q->front)//队列满,报错
        return false;
    Q->data[Q->rear]=x;
    Q->rear=(Q->rear+1)%MaxSize;//循环队列,牺牲一个储存空间,变成环状

}
//出队
bool DeQueue(SqQueue *Q,int x){
    if(Q->rear==Q->front)//判断队空
        return false;
    x=Q->data[Q->front];
    Q->front=(Q->front+1)%MaxSize;//队头指针后移
    return true;
}
//获得队头元素值,返回x
bool GetHead(SqQueue *Q,int x){
    if(Q->rear==Q->front)//判断队空
        return false;
    x=Q->data[Q->front];
    return true;
}
/*
 * 队满(Q->rear+1)%MaxSize==Q->front;
 * 队空Q->rear==Q.front;
 * */

//链队列
typedef struct LinkNode{//链式队列节点
    int data;
    struct LinkNode *next;
}LinkNode;
typedef struct {///链式队列
    LinkNode *front,*rear;//对头/尾指针
}LinkQueue;
void InitQueue2(LinkQueue *Q){
    Q->front=Q->rear=(LinkNode*)malloc(sizeof(LinkNode));
    Q->front->next=NULL;
}
//入队
void EnQueue2(LinkQueue *Q,int x){
    LinkNode *s=(LinkNode*)malloc(sizeof(LinkNode));
    s->data=x;
    s->next=NULL;
    Q->rear->next=s;
    Q->rear=s;
}
//出队
bool DeQueue2(LinkQueue *Q,int *x){
    if(Q->front==Q->rear)//空队
        return false;
    LinkNode *p=Q->front->next;
    *x=p->data;//x返回被删除的元素
    Q->front->next=p->next;
    if(Q->rear==p)
        Q->rear=Q->front;
    free(p);
    return true;
}


//双端队列:两端均可插入删除
//输入(输出)受限的双端队列

到了这里,关于王道计算机考研 数据结构C语言复现-第六章-队列的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机组成原理笔记(王道考研)(持续更新)

    本文是对王道计算机考研《计算机组成原理》课程的总结,主讲咸鱼学长讲的确实清晰。 王道考研《计算机组成原理》 由于我们学校已经开设过汇编和计算机体系结构,所以计组的笔记内容会比较精炼,高屋建瓴,不适合无基础人听。 如果有不理解的,可以回去看看我前面

    2024年02月08日
    浏览(40)
  • 【计算机组成原理】24王道考研笔记——第四章 指令系统

    指令是指示计算机执行某种操作的命令,是计算机运行的最小功能单位。一台计算机的所有指令的集合构成该 机的指令系统,也称为指令集。 指令格式: 1.1分类 按地址码数目分类: 按指令长度分类: 按操作码长度分类: 按操作类型分类: 1.2 扩展操作码 设地址长度为n,

    2024年02月13日
    浏览(34)
  • 【计算机组成原理】24王道考研笔记——第三章 存储系统

    现代计算机的结构: 1.存储器的层次结构 2.存储器的分类 按层次: 按介质: 按存储方式: 按信息的可更改性: 按信息的可保存性: 3.存储器的性能指标 1.基本组成 半导体元件原理: 存储芯片原理:存储芯片由半导体元件组成而成 不同的寻址方式: 总结: 2.SRAM和DRAM 上一

    2024年02月13日
    浏览(30)
  • 【操作系统】24王道考研笔记——第一章 计算机系统概述

    1.1 定义 1.2 特征 并发 (并行:指两个或多个事件在同一时刻同时发生) 共享 (并发性指计算机系统中同时存在中多个运行着的程序,共享性指系统中的资源可供内存中多个并发执行的进程共同使用) 虚拟 异步 并发和共享互为存在条件。没有并发和共享,就谈不上虚拟和异

    2024年02月12日
    浏览(30)
  • 王道考研数据结构——链表

    找到头节点就相当于找到了整个链表 Linklist Lnode*是一个东西 大部分使用的带头结点,比较方便!带头结点只维护指针域,不维护数据域 找前驱节点+插入节点(可以单独封装成一个函数)  如果不带头节点的话,那么插入和删除头节点的话都需要特殊处理,即重新修改头指针的

    2024年02月16日
    浏览(36)
  • 【王道考研】王道数据结构与算法详细笔记(全)

    目录 第一章 数据结构绪论  1.1 数据结构的基本概念 1.2 数据结构的三要素 1.2.1. 数据的逻辑结构 1.2.2. 数据的存储结构(物理结构) 1.2.3. 数据的运算 1.2.4. 数据类型和抽线数据类型 1.3 算法的基本概念 1.4 算法的时间复杂度 1.5 算法的空间复杂度 第二章 线性表 2.1 线性表的定

    2024年02月08日
    浏览(38)
  • 王道考研数据结构--2.单链表

    1.前言 2.难点 2.1c和c++的引用转换 2.2引入头结点的好处 2.3头插法和尾插法 3.代码段 3.1C语言自定义bool操作 3.2单链表结构体定义 3.3创建新节点 3.4头插法和尾插法 3.5查找 3.6按位序插入 3.7后插和前插 3.8删除 3.9求表长 3.10遍历输出单链表 4.完整代码 日期:2023.6.21 书籍:2024年数据

    2024年02月09日
    浏览(79)
  • 数据结构笔记(王道考研) 第一章:绪论

    大部分内容基于中国大学MOOC的2021考研数据结构课程所做的笔记,该课属于付费课程(不过盗版网盘资源也不难找。。。)。后续又根据23年考研的大纲对内容做了一些调整,将二叉排序树和平衡二叉树的内容挪到了查找一章,并增加了并查集、平衡二叉树的删除、红黑树的内

    2024年02月14日
    浏览(32)
  • 王道考研数据结构--4.2循环队列

    目录 前言  1.循环队列的定义 2.循环队列的结构 3.循环队列的操作 3.1定义循环队列 3.2初始化 3.3入队 3.4出队 3.5遍历,求表长 3.6清空销毁 4.完整代码 日期:2023.7.25 书籍:2024年数据结构考研复习指导(王道考研系列) 内容:实现顺序队列的基本实现,主要功能如下: 1.循环队

    2024年02月15日
    浏览(35)
  • 【数据结构】24王道考研笔记——串

    串(字符串)是由零个或多个字符组成的有限序列。 子串:串中任意个连续的字符组成的子序列 主串:包含子串的串 字符在主串中的位置:字符在串中的序号 子串在主串中的位置:子串的第一个字符在主串中的位置 串的基本操作: 其中串执行比较操作时,从第一个字符开

    2024年02月15日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包