纯C语言实现顺序队列】的更多相关文章

#include <stdio.h> #include <stdlib.h> #define MAXSIZE 6 typedef int QElemType; typedef struct { QElemType *base; int front; int rear; }SqQueue; SqQueue *InitQueue(SqQueue* Q);//初始化 SqQueue *DestroyQueue(SqQueue* Q);//销毁 void ClearQueue(SqQueu…
队列,和栈一样,也是一种对数据的"存"和"取"有严格要求的线性存储结构. 什么是队列 与栈结构不同的是,队列的两端都"开口",要求数据只能从一端进,从另一端出,如下图示: 通常,称进数据的一端为 "队尾",出数据的一端为 "队头",数据元素进队列的过程称为 "入队",出队列的过程称为 "出队". 不仅如此,队列中数据的进出要遵循 "先进先出" 的原…
#include <stdio.h> #include <stdlib.h> #define MAXSIZE 100 typedef int SElemType; typedef struct { SElemType *base; SElemType *top; int stackSize; }SqStack; SqStack *InitStack(SqStack *S);//初始化 SqStack *DestroyStack(SqStack*S);//销毁 void ClearS…
顺序队列是一种只能在一头进和另一头出的数据结构,所以结构体里设2个指针分别指向头部和尾部,用数组来存储数据. #define MAXSIZE 1024 typedef int elemtype; typedef struct SequenQueue{ elemtype date[MAXSIZE]; int front; int rear; }SequenQueue; SequenQueue *init_SequenQueue(){ SequenQueue *p = (SequenQueue *)…
数据结构-顺序队列的实现 1 顺序队列的定义 线性表有顺序存储和链式存储,队列作为一种特殊的线性表,也同样存在这两种存储方式.我们先来看队列的顺序存储结构. 队列的顺序储存结构:用数组存储队列,为了避免当只有一个元素时,队头和队尾重合使得处理变得麻烦,所以引入两个指针:front指针指向队头元素,rear指针指向队尾元素的下一个位置,当front=rear时,为空队列,结构如下图所示. 假设是长度为5的数组,初始状态,空队列如下图左所示,front与 rear指针均指向下标为0的位置.然后入队a…
关于队列,因为我自己在平时使用不多,所以在这里直接将队列的两种存储方式放在一起,作为一篇随笔,这两份代码均可直接运行,亲测.注释写的应该也算比较详细了,就不过多的解释了 顺序队列 #include<stdio.h> #define MAXSIZE 100 //队列最大空间 typedef int QElemType; //队列中元素类型 typedef int Status; //返回值类型 #define OK 1 //操作成功 #define ERROR 0 //操作失败 typedef…
两个栈实现一个队列,C语言实现,队列可伸缩,容纳任意数目的元素. 一.思路:1.创建两个空栈A和B:2.A栈作为队列的入口,B栈作为队列的出口:3.入队列操作:即是入栈A:4.出队列操作:若栈B为空,则将A栈内容出栈并压人B栈,再出 B栈:不为空就直接出栈: 二.代码: 1.头文件:stack_to_queue.h:封装了:队列.栈的数据结构和各种操作的函数. 1 #ifndef STACK_TO_QUEUE_H 2 #define STACK_TO_QUEUE_H 3 4 #include<s…
#include <iostream> using namespace std; const int MAXSIZE = 1000; typedef int ELEMTYPE; const int N = 10; typedef struct { ELEMTYPE data[MAXSIZE]; int head; int tail; }Queue; Queue Q; void initQueue(Queue &Q); void printQueue(Queue &Q); int…
一个能够自动扩容的顺序结构的串 ArrString (GCC编译). /** * @brief C语言 串 顺序结构 实现 * @author wid * @date 2013-11-01 * * @note 若代码存在 bug 或程序缺陷, 请留言反馈, 谢谢! */ #include <stdio.h> #include <stdlib.h> #include <string.h> #define TRUE 1 #define FALSE 0 #define NPO…
一.队列的概念: 队列(简称作队,Queue)也是一种特殊的线性表,队列的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置插入和删除,而队列只允许在其一端进行插入操作在其另一端进行删除操作. 队列中允许进行插入操作的一端称为队尾,允许进行删除操作的一端称为队头.队列的插入操作通常称作入队列,队列的删除操作通常称作出队列. 下图是一个依次向队列中插入数据元素a0,a1,...,an-1后的示意图: 上图中,a0是当前 队头数据元素,an-1是当前 队尾数据元素. 为了…