顺序队列
来源:互联网 发布:js数组去重复的方法 编辑:程序博客网 时间:2024/05/22 07:09
#include<stdio.h>typedef char DataType;#include "SeqQueue.h"void main(){SeqQueue Q;char str[] = "ABCDEFG";int i, length=8;char x;InitQueue(&Q);for (i = 0; i < length; i++){EnQueue(&Q, str[i]);}DeQueue(&Q, &x);printf("出队列的元素为:%c\n", x);printf("顺序队列中的元素为:");DisplayQueue(Q);}
/*SeqQueue.h函数*/#include<stdio.h>#define QUEUESIZE 60// typedef int DataType;typedef struct Squeue{DataType queue[QUEUESIZE];int front, rear;}SeqQueue;/*顺序队列初始化*/void InitQueue(SeqQueue *SQ){SQ->front = SQ->rear = 0;}/*判断队列是否为空*/int QueueEmpty(SeqQueue SQ){if (SQ.front == SQ.rear)return 1;elsereturn 0;}/*入队操作*/int EnQueue(SeqQueue *SQ, DataType e){if (SQ->rear == QUEUESIZE)return 0;SQ->queue[SQ->rear] = e; //在队尾插入元素eSQ->rear = SQ->rear + 1; //队尾指针向后移动一个单位}/*出队操作*/int DeQueue(SeqQueue *SQ, DataType *e){if (SQ->front == SQ->rear)return 0;else{*e = SQ->queue[SQ->front]; //将要删除的元素赋值给eSQ->front = SQ->front + 1; //队头指针向后移动一个单位}}/*输出队列*/void DisplayQueue(SeqQueue SQ){int i;if (!QueueEmpty(SQ)){for (i = SQ.front; i < SQ.rear; i++)printf("%c", SQ.queue[i]);}}
0 0
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- 顺序队列
- .NET创建winform透明窗体
- 如何导入libs 需要在gradle project
- 关于RTB实时竞价的基本原理
- EasyUI Combox过滤
- 11月16日——离noip还有3天[学战都市Asterisk]
- 顺序队列
- PostgreSQL之函数和操作符
- 【NOIP2015】信息传递 dfs
- Android开发之TextView垂直显示List列表数据
- 神经网络:Residual Network
- php单双引号对变量解析的影响以及php向mysql插入数据时的变量解析问题详解
- ReactNative 广播机制
- 哈夫曼树的总结
- Could not expand ZIP错误