博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
循环队列,队链的实现
阅读量:4027 次
发布时间:2019-05-24

本文共 1417 字,大约阅读时间需要 4 分钟。

总体来说实现起来和栈是差不多的,都是操作受限的顺序表。进行一点特殊处理就行了。

循环队列:

#include
#include
#include
#define MAX 1001using namespace std;typedef struct { int a[MAX]; int front,rear;}SQueue;void Init(SQueue *s){ s->front=0; s->rear=0;}bool Insert(SQueue *s,int e){ if(s->front==s->rear+1) return false; s->a[s->rear]=e; s->rear++; s->rear%=MAX; return true;}bool Delete(SQueue *s,int *e){ if(s->rear==s->front) return false; *e=s->a[s->front]; s->front++; s->front%=MAX; //point return true;}int SQueuelenth(SQueue s){ int len=0; if(s.front>=s.rear) len=s.front-s.rear; else len=s.rear-s.front; return len;}int main(){ srand(time(NULL)); SQueue s; Init(&s); int n=rand()%20; cout<<"n="<
<

队链:

#include
#include
#include
using namespace std;typedef struct Node{ int e; Node *next;}Queue;Queue *Init(){ return (Queue*)malloc(sizeof(Queue));}Queue* Insert(Queue *s,int e){ s->next=(Queue*)malloc(sizeof(Queue)); s=s->next; s->e=e; s->next=NULL; cout<
e<<" "; return s;}int QueueLen(Queue *s){ int count=0; Queue *p=s; while(p->next!=NULL) { count++; p=p->next; } return count;}Queue* DeleteQueue(Queue *s){ Queue *p=s; s=s->next; int e=s->e; free(p); cout<<"e="<
<

转载地址:http://obobi.baihongyu.com/

你可能感兴趣的文章
stirling formula prove
查看>>
关于数字类型转化为整型的方法
查看>>
PHP 常用正则表达式整理
查看>>
自然计算
查看>>
自然计算时间复杂度杂谈
查看>>
当前主要目标和工作
查看>>
系统菜单
查看>>
路漫漫其修远兮,吾将上下而求索(2)
查看>>
versions mac yosemite 下崩溃的修复
查看>>
github push 出现connection refused 的处理办法
查看>>
Linux配置sendmail实现PHP发送邮件
查看>>
c++ 特性回顾
查看>>
网站注册的时候,烦人的生日年份选择的改进想法
查看>>
游戏开发两年记 之 工程和理论需双剑合璧
查看>>
Nachos中switch汇编源码分析
查看>>
游戏开发两年之产品逻辑鸡肋么?
查看>>
secureCRT和Xshell登录Ubuntu
查看>>
secureCRT和Xshell登录ubuntu
查看>>
Apache下c语言的cgi如何获得Get,Post参数
查看>>
protobuf的使用初探
查看>>