queue.c

来自「描述了队列的基本操作 它的存储结构采取的顺序形式」· C语言 代码 · 共 64 行

C
64
字号
#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 + =
减小字号Ctrl + -
显示快捷键?