//简单的队列

#include<stdio.h>
#include<stdlib.h> #define datatype int
#define N 10 //定义队列结构体
struct queue{
int front;//队头
int endline;//队尾
datatype data[N];//数据
}; typedef struct queue Queue; Queue myQueue = { , , { } }; //初始化队列
void initQueue(Queue * p);
//入队
void enQueue(Queue *pque, datatype data);
//出队
void deQueue(Queue *pque);
//遍历队列
void printfQueue(Queue *pque); //数组队列只能使用一次,使用之后必须初始化后才可以继续使用 void main(){
Queue *pque = (Queue *)malloc(sizeof(Queue));
initQueue(pque);
//插入队列
enQueue(pque,);
enQueue(pque,);
enQueue(pque,);
enQueue(pque,);
enQueue(pque,);
//打印队列
printfQueue(pque);
//出队
deQueue(pque);
//打印队列
printfQueue(pque);
deQueue(pque);
//打印队列
printfQueue(pque);
system("pause");
} //初始化队列
void initQueue(Queue *pque){
pque->front = pque->endline = ;//清空队列
} //入队
void enQueue(Queue *pque,datatype data){
//判断队列是否溢出
if (pque->endline<N)
{
//判断队列是否为空
if (pque->front == pque->endline)//队头和队尾重合表明没有元素
{
//初始化队列
initQueue(pque);
}
pque->data[pque->endline] = data;
pque->endline += ; }
else{
return;
} } //出队
void deQueue(Queue *pque){
//判断队列是否为空
if (pque->front == pque->endline)
{
//队列为空
return;
}
else{
//直接弹出最后一个
printf("弹出的元素是%d\n", pque->data[pque->front]);
pque->front+= ;
}
} //遍历队列
void printfQueue(Queue *pque){
for (int i = pque->front; i < pque->endline; i++)
{
printf("%d\n", pque->data[i]);
}
}

C语言 简单的队列(数组队列)的更多相关文章

  1. Python与数据结构[2] -> 队列/Queue[0] -> 数组队列的 Python 实现

    队列 / Queue 数组队列 数组队列是队列基于数组的一种实现,其实现类似于数组栈,是一种FIFO的线性数据结构. Queue: <--| 1 | 2 | 3 | 4 | 5 |<-- ...

  2. C语言实现使用动态数组实现循环队列

    我在上一篇博客<C语言实现使用静态数组实现循环队列>中实现了使用静态数组来模拟队列的操作. 因为数组的大小已经被指定.无法动态的扩展. 所以在这篇博客中,我换成动态数组来实现. 动态数组能 ...

  3. Java中的自定义数组队列

    在Java中,作为所有数据结构中存储和获取速度最快的一种,数组凭借其这种简单易用的优势在各个方面都能大显神威.但是数组也有自身的局限性.数组的长度必须是固定的一旦定义之后就无法动态的更改,这就会造成这 ...

  4. 【栈和队列】5、队列概述与数组队列的基本实现 - Java

    3-5 数组队列 简单记录 - bobo老师的玩转算法系列–玩转数据结构 - 栈和队列 队列Queue 队列也是一种线性结构 相比数组,队列对应的操作是数组的子集 只能从一端(队尾)添加元素,只能从另 ...

  5. 进阶高阶IoT架构-教你如何简单实现一个消息队列

    前言 消息队列是软件系统领域用来实现系统间通信最广泛的中间件.基于消息队列的方式是指由应用中的某个系统负责发送消息,由关心这条消息的相关系统负责接收消息,并在收到消息后进行各自系统内的业务处理.消息可 ...

  6. 数组队列如何手撕?解密ArrayBlockingQueue的实现内幕!

    队列 聊起队列,你一定会联想到一个与队列相似的数据结构:栈. 为了更好的理解什么是队列,我们将它和栈来比较一下: 队列的特点是:先进先出,如下图,1先进,1就先出. 图1:队列的图解 栈的特点是:先进 ...

  7. Go语言系列之RabbitMQ消息队列

    1. RabbitMQ是什么?   MQ 是什么?队列是什么,MQ 我们可以理解为消息队列,队列我们可以理解为管道.以管道的方式做消息传递. 生活场景: 1.其实我们在双11的时候,当我们凌晨大量的秒 ...

  8. C# 高性能的数组 高性能数组队列实战 HslCommunication的SharpList类详解

    本文将使用一个gitHub开源的组件技术来实现这个功能 github地址:https://github.com/dathlin/HslCommunication                     ...

  9. JAVA之数组队列

    package xxj.datastructure0810; import java.util.Random; public class DataStructure { /** * @param ar ...

随机推荐

  1. iOS之 PJSIP静态库编译(二)

    咱们书接上回: 上一篇编译好了PJsip这次我们来点实战 上次编译过后就不必做别的修改因为ios平台的库都支持了. 打开工程   找到 pjsip- apps/src/pjsua/ios/ipjsua ...

  2. 让eclipse启动时拥有jre

    让eclipse 拥有jre,这样才能启动 eclipse/eclipse.ini 首行加入 -vm /home/liujl/installer/jdk/bin/java

  3. 远离腰痛的好方法——如何锻炼腰背部肌肉?

    在我们的骨科门诊中最常见到的就是腰痛患者:引起腰痛的原因很多,也比较复杂,所以就有俗语"病人腰痛.医生头痛"一说.其实,相当大部分的腰痛症状都是跟腰背部后方的肌肉筋膜劳损或者无菌性 ...

  4. android textview 设置不同的颜色和大小

    1.定义不同的style <style name="approval_detail_info_style1"> <item name="android: ...

  5. Orchard扩展 自定义后台管理导航菜单 Admin Menu

    金天:学习一个新东西,就要持有拥抱的心态,如果固守在自己先前的概念体系,就会有举步维艰的感觉. 金天:看源码永远是Coder学习的最快捷路径.     看本文需要对Orchard大致体系, 特别是Mo ...

  6. img标签使用默认图片的一种方式

    基于html5提供的onerror这个时间属性.

  7. python操作db2和mysql ,ibm_db

    我需要提取mysql和db2的数据进行对比,所以需要用python对其都进行操作. python对mysql进行操作应该没什么问题,就是安装drive后就可以了,在上一篇中有讲安装python-mys ...

  8. Android精品开源整理

    一.兼容类库 ActionBarSherlock : Action Bar是Android 3.0后才开始支持的,ActionBarSherlock是让Action Bar功能支持2.X后的所有平台, ...

  9. MongodbBackup Script

    #!/usr/bin/env python # _*_coding:utf-8_*_ # Author: "Edward.Liu" # Author-Email: lonnyliu ...

  10. Android资源下载

    各个版本,在线源码: http://grepcode.com/project/repository.grepcode.com/java/ext/com.google.android/android/ ...