#include<stdio.h>
#include<stdlib.h>
#define OK 1
#define ERROR 0
typedef int ElementType;
typedef struct Node *PtrToNode;
typedef int Status;/*队列中的结点*/
struct Node{ElementType Data;PtrToNode Next;
};
typedef PtrToNode Position;
//队列的头尾指针,分别指向头和尾
struct QNode
{Position Front,Rear;//队列的头尾指针int MaxSize;    //队列的最大容量
};typedef struct QNode *Queue;Status IsEmpty(Queue Q)
{reutrn( Q->Front == NULL);
}
/*** 删除队首的结点* */
ElementType Delete( Queue Q)
{Position FrontCell;ElementType FrontElem;if( IsEmpty(Q)){printf("队列空");return ERROR;}else{FrontCell = Q->Front;if(Q->Front == Q->Rear) //如果队列只有一个元素Q->Front = Q->Rear = NULL;//删除后队列置为空elseQ->Front = Q->Front->Next;FrontElem = FrontCell->Data;free( FrontCell);return FrontElem;}
}/*** 向队列尾部添加结点* */
Status Add( Queue Q, ElementType e)
{PtrToNode newNode = (PtrToNode)malloc(sizeof(struct QNode));/*存储分配失败*/if(!newNode)exit(OVERFLOW);newNode->Data = e;newNode->Next = NULL;      //新建的结点指向NULLQ->Rear->Next = newNode;    //将新建的结点放在原来最后的后面Q->Rear = newNode; //把新建的结点设置称为队尾结点,即Rear指向s,指向最后一个结点}

C语言数据结构队列的插入和删除相关推荐

  1. c语言二叉排序树的创建与查找,C语言实现二叉查找树的插入和删除操作问题求教...

    使用C语言实现二叉查找树的插入和删除操作,但在 return searchBST( T->rchild, val, f, p);出错.这里应该使用了双指针,求教应该怎么改才正确. /* +--- ...

  2. c语言数组指定位置插入和删除_玩转C语言链表,单链表/双向链表的建立/遍历/插入/删除...

    最近临近期末的C语言课程设计比平时练习作业一下难了不止一个档次,第一次接触到了C语言的框架开发,了解了View(界面层).Service(业务逻辑层).Persistence(持久化层)的分离和耦合, ...

  3. 栈和队列的插入、删除等基本操作

    栈和队列 栈 栈:是一种特殊的线性表,其只允许在其固定的一段进行插入或者删除元素等操作:进行插入或者删除的一段称为栈顶,另一端称为栈顶: 栈的特性: 先进先出 后进后出 栈的构造(C语言实现) 1. ...

  4. GO语言-数据结构-队列

    目录 1.队列的顺序存储结构 1.1 队列顺序存储结构-结构体定义 1.2 队列顺序存储结构--初始化队列 1.3 队列顺序存储结构-入队 1.4 队列顺序存储结构-出队 1.5 完整代码 2.循环队 ...

  5. 栈和队列的插入、删除、获取头尾元素操作

    栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作.进行数据插入和删除操作的一端称为栈顶,另一端称为栈底.栈又称为后进先出的线性表. Stack.h #pragma once#inclu ...

  6. 栈的删除函数c语言,顺序栈的插入和删除

    <顺序栈的插入和删除>由会员分享,可在线阅读,更多相关<顺序栈的插入和删除(5页珍藏版)>请在人人文库网上搜索. 1.实验四顺序栈的插入和删除姓名:学号: 日期:一.实验目的: ...

  7. 数据结构单链表插入和删除操作

    单链表:先回顾单链表的特点  逻辑相邻 物理上不一定相连 首先初始化单链表,其中主要保存的是该节点自身的值以及下个节点的地址. 有效节点结构体设计: ​ struct Node{ ​ int data ...

  8. 舞伴配对问题c语言实训报告,C语言数据结构队列实现舞伴匹配(数据结构第二次实验)...

    C语言实验作业 题目如下: 课程名称:数据结构 实验目的: 1.掌握队列的定义及实现: 2.掌握利用队列的基本操作. 实验要求: 1.    使用链式结构完成队列的各种基本操作: 2.    补充完善 ...

  9. C语言实现双向链表:插入和删除

    抽象数据类型 typedef sturct DuLnode {int data;struct DuLnode* next, *prior; }DuLnode, *DuLinklist; 带头结点的双向 ...

  10. (数据结构)二叉排序树的插入、删除

    关于插入不多说,主要讲讲删除操作的第三种情况吧. 前面的两种情况比较简单,包含了只有左或者只有右还有左右都没 有的 第三个情况就比较复杂,左右子树都存在,想删除这个节点(设为P)我们采 用取代的方法, ...

最新文章

  1. python将sklearn的RocCurveDisplay结果与PrecisionRecallDisplay结果合成为一个图
  2. 离职总结:大公司与小公司的个人体验
  3. python搭建selenium_了解搭建selenium安装以及配置环境
  4. Win7下的使用QTP进行猴子测试的性能日志实现方法
  5. php面试中的经典问题
  6. 【Redis】 redis hash getKey getValue 两个的性能差别
  7. Java基础学习总结(36)——Java注释模板
  8. 警告:MySQL-server-5.6.26-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
  9. java map size 不准确_java1.7以前ConcurrentHashMap的size方法
  10. mysql删除源码_mysql关于删除的命令实例源码删除数据库数据表等
  11. [高数]y=arccosx,y=arcsinx和y=arctanx的图像
  12. err = Problems with launching via XPC. XPC error : Connection interrupted (0x00000005)
  13. 蓝牙开发那些事儿(3)——看看空中包
  14. 那些年让人迷惑的同步、异步、阻塞、非阻塞
  15. 排序算法 - 冒泡排序
  16. Linux DDos防御
  17. KVM虚拟化之(1):CPU技术
  18. 投影机RS-232串口接口大全
  19. javascript中this指向问题(es5)
  20. 《信息安全技术 关键信息基础设施安全保护要求》国家标准在京发布

热门文章

  1. 使用opengl和c++实现迷宫地图的路径搜索和显示(基于DFS)
  2. 有营养的算法笔记(七)
  3. iPad中国内地商标权诉讼调查
  4. 区块链是什么?华为云学院带你领略区块链的前世今生
  5. 亚马逊领导力准则14条
  6. 腾讯云播放器隐藏音频播放的按钮
  7. 茶叶的基本知识,喝茶的好处和坏处
  8. java学习第114天,p699-706(05/12),完成QQ群发
  9. win10 外接触摸屏触摸校准
  10. Codeforces - F. Dominant Indices