⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 queue.c

📁 描述了队列的基本操作 它的存储结构采取的顺序形式
💻 C
字号:
#include <stdlib.h>
#include <stdio.h>
#include "userconst.h"

unsigned int QueueFlg;

void Init_Queue(Sequeue *head)
{
	 head->front = 0;                                   /* 没有对队列中的元素进行初始化 */

	 head->rear = 0;

	 QueueFlg = 0; 
}

void Print_Queue(Sequeue *head)   
{
     unsigned int i = 0;

	 for(i = 0; i < QueueFlg; i++)
	 {
          printf("%d ", *((head->base) + ((head->front + i) % QueueNum)));
	 }

	 printf("\n");
}

void En_Queue(Sequeue *head, unsigned int element)                /* 只能在队尾插入 在对头删除 */
{
	 if(QueueNum == QueueFlg)
	 {
		 printf("队列已满\n");

		 return;
	 }

	 *((head->base) + head->rear) = element;
	 
	 head->rear = (head->rear + 1) % QueueNum;

	 QueueFlg++;                                            /* 表示整个队列元素的数目 用来判断队列此时空or满 */
}


unsigned int De_Queue(Sequeue *head)
{
	 unsigned int temp = 0;

     if(0 == QueueFlg)
	 {
		 printf("队列已空\n");

		 exit(1);
	 }

	 temp = *((head->base) + head->front);
     
	 head->front = (head->front + 1) % QueueNum;

	 QueueFlg--;

	 return temp;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -