队列
来源:互联网 发布:淘宝素材图 编辑:程序博客网 时间:2024/06/08 02:25
#include <iostream>using namespace std;#define MAXSIZE 5//队列长度typedef struct{ int data[MAXSIZE]; int tail;//尾 int head;//头}queue;//建立空队列queue* creat_queue(){ queue* q=NULL; if((q=(queue*)malloc(sizeof(queue)))==NULL) { free(q); return NULL; } q->tail=0; q->head=0; return q;}//判断队列是否为空bool empty_queue(queue* q){ if(q->head==q->tail) { cout<<"empty_queue!"<<endl; return true; } else return false;}//判断队列是否满了bool full_queue(queue* q){ if(((q->tail+1)%MAXSIZE)==(q->head)) { cout<<"full_queue!"<<endl; return true; } else return false;}//入队bool insert_queue(queue* q,int x){ q->data[q->tail]=x; cout<<q->data[q->tail]; if(full_queue(q)) { cout<<"队列满了,不能再入队了!"<<endl; return false; } else { q->tail=((q->tail+1)%MAXSIZE); return true; }}//出队int delete_queue(queue* q){ if(empty_queue(q)) { cout<<"队空,不能出队!"<<endl; return -1; } else { int x=q->data[q->head]; q->head=((q->head+1)%MAXSIZE); return x; }}int main(void){ //建空队列 queue* q=creat_queue(); if(q) cout<<"creat_queue is succeed!"<<endl; else cout<<"creat_queue is failed!"<<endl; //入队 for(int i=0;i<=5;i++) { if(!insert_queue(q,i)) break; } //出队 delete_queue(q); int x=delete_queue(q); cout<<q->head<<,<<x<<endl; free(q); return 0;}
0 0
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- 队列
- android 组件SeekBar实例
- 【LeetCode】(263)Ugly Number(Easy)
- 实习中
- day9: 内存管理初级:内存管理的方式、引用计数机制,影响计数的各个方法、dealloc方法、内存管理的基本原则
- word文档转换为PDF、jpg、HTML、txt、swf
- 队列
- windows编程之剪切板
- SVN chechout 错误: xxx is not valid as filename in directory
- 基于网页可信特征的信息可信度评估方法(IEEE2011)
- RuntimeException
- HDU 1850 Being a Good Boy in Spring Festival
- Random Teams(Codeforces Round 273)
- 自己看的
- 无题 (最小生成树+prim)