队列

在这里插入图片描述

在 FIFO 数据结构中,将首先处理添加到队列中的第一个元素。

如上图所示,队列是典型的 FIFO 数据结构。插入(insert)操作也称作入队(enqueue),新元素始终被添加在队列的末尾。 删除(delete)操作也被称为出队(dequeue)。 你只能移除第一个元素。

创建队列

#include "stdio.h"
#define MAXSIZE  5    //最大容量是5个元素
struct queue   //队列
{
       int a[MAXSIZE];   //队列元素
       int front;          //队头
       int rear;           //队尾
};

 
    步骤一:判断是否溢出,若溢出给出提示结束程序,否则跳到步骤二

    步骤二:输入入队的元素

    步骤三:将元素存于队尾处

    步骤四:队尾下标自增
//入队操作

void enqueue(struct queue *q)

{
       int e;
       if(q->rear<MAXSIZE-1)//判断溢出--队尾下标比最大长度的下标(maxsize-1)小,不能=,因为这样就无法插入了
       {
              printf("请输入入队的元素:");
              scanf("%d",&e);
              q->a[q->rear]=e;//给末尾赋值,[q->rear]是指向末尾元素,a[q->rear]末尾元素的值
              q->rear++;//往后移动一位
              printf("入队成功\n");
       }
       else
       {
              printf("溢出\n");                                   
       }
}
    步骤一:判断是有元素,若无元素则给出提示结束程序,否则跳到步骤二

    步骤二:用e接收出队的元素

    步骤三:

    步骤四:队尾下标自增
//出队操作

void dequeue(struct queue *q)
{
       int e;
       if(q->front==q->rear)//判断对空条件front==rear
       {
              printf("队空,没有元素\n");
       }
       else
       {          
           e=q->a[q->front];//对头元素取出
           q->front++;
           printf("出队的元素是%d\n",e);                    
       }
}    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值