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

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

 #define Maxsize 8

#include<stdio.h>
#include<malloc.h>
typedef struct {
 int *base;
 int front;
 int rear;
}SqQueue;//定义循环队列

void InitQueue(SqQueue &Q,int n)

{
 Q.base =(int *)malloc(Maxsize*sizeof(int));
 Q.front=Q.rear=0;//构建空循环队列
    printf("输入队列元素:");
 for(int i=0;i<n;i++)
 {
  scanf("%d",&Q.base[i]);
  Q.rear++;
 }

void Print(SqQueue Q)
{
 int p=Q.front;
 printf("输出循环队列:");
 while(p!=Q.rear)
 {
  printf("%d",Q.base[p]);
  p++;
 }
}
 

 

int QueueLength(SqQueue Q)

{
 return (Q.rear-Q.front+Maxsize)%Maxsize;
}//求循环队列长

void EnQueue(SqQueue &Q,int e)

{
    if((Q.rear+1)%Maxsize==Q.front) printf("error/n");
 Q.base[Q.rear]=e;
 Q.rear=(Q.rear+1)%Maxsize;
}

void DeQueue(SqQueue &Q,int &e)
{
 if(Q.front==Q.rear) return;
 e=Q.base[Q.front];
 Q.front=(Q.front+1)%Maxsize;
}

main()

{
 int a;
    SqQueue Q;
    InitQueue(Q,6);
    a=QueueLength(Q);
    Print(Q);
 printf("/n%d",a);
 return 0;
}

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

你可能感兴趣的文章
高性能服务器设计
查看>>
性能扩展问题要趁早
查看>>
MySQL-数据库、数据表结构操作(SQL)
查看>>
OpenLDAP for Windows 安装手册(2.4.26版)
查看>>
图文介绍openLDAP在windows上的安装配置
查看>>
Pentaho BI开源报表系统
查看>>
Pentaho 开发: 在eclipse中构建Pentaho BI Server工程
查看>>
JSP的内置对象及方法
查看>>
android中SharedPreferences的简单例子
查看>>
android中使用TextView来显示某个网址的内容,使用<ScrollView>来生成下拉列表框
查看>>
andorid里关于wifi的分析
查看>>
Spring MVC和Struts2的比较
查看>>
Hibernate和IBatis对比
查看>>
Spring MVC 教程,快速入门,深入分析
查看>>
Android 的source (需安装 git repo)
查看>>
Commit our mod to our own repo server
查看>>
LOCAL_PRELINK_MODULE和prelink-linux-arm.map
查看>>
Simple Guide to use the gdb tool in Android environment
查看>>
Netconsole to capture the log
查看>>
Build GingerBread on 32 bit machine.
查看>>