数据结构之线性结构-队列结构(静态队列的实现)

队列结构

1,队列的定义

所谓“队列”,就是指一种先进先出的数据存储的方式。如图所示:
这里写图片描述

2,队列的实现

头文件

#include<stdio.h>

全局变量

int front=-1;
int rear=-1;
int size=10;

函数接口

  • 初始化队列
int *Init_queue(int size)
{
  int *queue=(int *)malloc(sizeof(int)*size);
  return queue; 
}
  • 判断队列是否为空
int Is_queue(int *queue)
{

  return front==rear;
}
  • 判断队列是否为满
 int Is_full(int *queue)
 {
    return rear>=size;
 }
  • 入队
void Push_queue(int *queue,int data)
{
   if(Is_full(queue))
   {
      printf("Queue is full!\n");
      return;
   }
  queue[++rear]=data;
}
  • 出队
int Del_queue(int *queue)
{
   int temp=queue[front];
   if(Is_empty(queue))
   {
      printf("queue is empty!\n");
      return -1;
   }
   else
   {    
      queue[front]=0;
      front++;
   }
   return temp;
}
  • 显示队列元素
void Show_queue(int *queue)
{
    if(Is_empty(queue))
      printf("queue is empty!\n");
    for(int i=0;i<size;++i)
    {
       printf("%d ",queue[i]);
    }
    putchar(10);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值