请输入您要查询的百科知识:

 

词条 伫列
释义

伫列(队列),又称 queue ,是先进先出(FIFO, First-In-First-Out)的线性排列。在具体应用中通常用阵列或链结串行来实现。伫列只允许在后端(称为rear)进行插入操作,在前端(称为front)进行删除操作。

伫列的操作方式和堆栈类似,唯一的区别在于伫列只允许新数据在后端进行加入。

阵列伫列

#include<stdio.h>

#include<stdlib.h>

/*伫列资料结构*/

struct Queue

{

int Array[10];//阵列空间大小

int head;//前端(front)

int tail;//後端(rear)

int length;//伫列长度

};

/*资料加入伫列*/

void EnQueue(Queue *Queue1,int x)

{

Queue1->Array[Queue1->tail]=x;

if(Queue1->tail==Queue1->length)

{

Queue1->tail=1;

}

else

{

Queue1->tail=Queue1->tail+1;

Queue1->length=Queue1->length+1;//这行逻辑上有问题 //Modify By pcjackal.tw

}

}

/*资料移出伫列*/

int DeQueue(Queue *Queue1)

{

int x=Queue1->Array[Queue1->head];

if(Queue1->head==Queue1->length)

{

Queue1->head==1;

}

else

{

Queue1->head=Queue1->head+1;

}

return x;

}

/*伫列操作*/

int main()

{

struct Queue *Queue1=(struct Queue *)malloc(sizeof(struct Queue));//建立资料结构

Queue1->length=10;//新增长度

Queue1->head=0;//必须要先初始化 //Modify By pcjackal.tw

Queue1->tail=0;//必须要先初始化 //Modify By pcjackal.tw

EnQueue(Queue1,5);//将5放入伫列

EnQueue(Queue1,8);//将8放入伫列

EnQueue(Queue1,3);//将3放入伫列

EnQueue(Queue1,2);//将2放入伫列

printf("%d ",DeQueue(Queue1));//输出伫列(5)

printf("%d ",DeQueue(Queue1));//输出伫列(8)

printf("%d ",DeQueue(Queue1));//输出伫列(3)

system("pause");

}

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/20 12:51:08