当前位置:  技术问答>linux和unix

数据结构中循环队列的简单问题

    来源: 互联网  发布时间:2017-01-19

    本文导语:  教材中的只能存放数字,怎样才可以存放字符串???比如每个节点的数据部分为长度为1472的字符型,我应该怎么改?? #include  #include  #define TRUE 1 #define OK 1 #define ERROR 0 #define OVERFLOW -2 #define INFEASIBLE -1 #defin...

教材中的只能存放数字,怎样才可以存放字符串???比如每个节点的数据部分为长度为1472的字符型,我应该怎么改??
#include 
#include 
#define TRUE 1
#define OK 1
#define ERROR 0
#define OVERFLOW -2
#define INFEASIBLE -1
#define FALSE 0
#define MAXQSIZE 6
typedef int Status;
typedef int QElemType;
typedef struct{
    QElemType *base;
int front;
int rear;}SqQueue;
Status InitQueue (SqQueue *Q){/*构造一个空队列Q*/
Q->base =(QElemType *)malloc(MAXQSIZE *sizeof(QElemType));
if(!Q->base)exit(OVERFLOW);
Q->front =Q->rear =0;
return OK;}
int QueueLength (SqQueue Q){/*返回Q的元素个数,即队列的长度*/
return (Q.rear-Q.front+MAXQSIZE) %MAXQSIZE;}
Status EnQueue(SqQueue *Q,QElemType e){/*插入元素e为Q的新的队尾元素*/
if((Q->rear+1)%MAXQSIZE==Q->front) return ERROR;
Q->base[Q->rear]=e;
Q->rear=(Q->rear+1)%MAXQSIZE;
return OK;}
Status DeQueue(SqQueue *Q,QElemType *e){
if(Q->front==Q->rear)  return ERROR;
*e=Q->base[Q->front];
Q->front=(Q->front+1)%MAXQSIZE;
return OK;}
Status QueuePrint(SqQueue Q){
         int i,j;  int p;
         QElemType e;
         j=(Q.rear-Q.front +MAXQSIZE)%MAXQSIZE;
 p=Q.front ;
 if(Q.front ==Q.rear)
 printf("队列为空。n");
 else{ if((Q.rear+1)%MAXQSIZE==Q.front)
     printf("队列满。n");
     else 
 if((Q.front+1)%MAXQSIZE!=Q.front)
     printf("队列非空非满。n");
       for(i=1;i

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • <<大话数据结构>>中冒泡排序算法改进
  • 强人,linux下驱动相关数据结构和usb设备数据结构之间的功能分析
  • 基于Key-Value的NOSQL数据库Redis的数据结构及常用相关命令介绍
  • GNU汇编fill填充一个数据结构使得另一个数据结构全部清零
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • 请问:在用proc方式往数据库插入数据时,我能不能定义一个结构体,它与表的每一项对应,将结构体赋好值后,再只将这个结构体插入表中,这行不行啊?
  • 数据结构:图(有向图,无向图),在Python中的表示和实现代码示例
  • 请教:请问java中存放数据库中的记录,用什么数据结构?(hashtable?vector?还是别的?)
  • mysql 命令大全及导入导出表结构或数据
  • 通用数据结构库 GDSL
  • 如何把一个数组转化为一个数据结构,如ArrayList。
  • 多维数据结构 mdds
  • C数据结构库 liblfds
  • 一个新的JavaScript数据结构 stream.js
  • 数据结构和算法教程 OpenDSA
  • 数据结构
  • 高手帮帮忙!vi中如何实现跳转到任意结构体或函数的声明处,包括系统库中声明的函数和数据结构?
  • 请教各位,数据结构在工程中到底有什么应用呢
  • 放假了,想用java数据结构,请问大虾们该如何开始?
  • sem_t的数据结构是什么?
  • 数据结构库 libx1f4l2


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3