链队列主要基本操作
时间:2026-01-14
时间:2026-01-14
代码
#include<stdio.h>
#include<stdlib.h>
/*阵列结构,说白了就是用数组存储元素 */
struct Queue
{
int Array[10];//阵列空间大小
int head;//前端(front)
int tail;//后端(rear)
int length;//当前队列长度,并且使用此成员判断满和空
};
/*元素插入队列*/
void EnQueue(struct Queue *Queue1,int x)
{
Queue1->Array[Queue1->tail]=x;
if(Queue1->tail+1==10)//Queue1->length 改空间大小为10
{
Queue1->tail=0;//1改为0
}
else
{
Queue1->tail=Queue1->tail+1;
}
Queue1->length=Queue1->length+1;//当前个数增1
}
/*删除队列元素*/
int DeQueue(struct Queue *Queue1)
{
int x=Queue1->Array[Queue1->head];
if(Queue1->head+1==10)//空間大小10
{
Queue1->head=0;
}
else
{
Queue1->head=Queue1->head+1;
}
Queue1->length=Queue1->length-1;//移出后減少1
return x;
}
/*基本操作*/
int main()
{
struct Queue *Queue1;
Queue1=(struct Queue *)malloc(sizeof(struct Queue));
Queue1->length=0;
Queue1->head=0;
Queue1->tail=0;
EnQueue(Queue1,5);//將5放入
EnQueue(Queue1,8);//將8放入
EnQueue(Queue1,3);//將3放入
EnQueue(Queue1,2);//將2放入
printf("%d ",DeQueue(Queu
e1));
printf("%d ",DeQueue(Queue1));
printf("%d ",DeQueue(Queue1));
system("pause");
}
运行结果:5 8 3
下一篇:连续介质力学作业(第一章)习题