知识大全 数据结构考研分类复习真题 第三章 答案[24]

Posted 指针

篇首语:实践是知识的母亲,知识是生活的明灯。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构考研分类复习真题 第三章 答案[24]相关的知识,希望对你有一定的参考价值。

   [题目分析] 用一维数组 v[ M ]实现循环队列 其中M是队列长度 设队头指针 front和队尾指针rear 约定front指向队头元素的前一位置 rear指向队尾元素 定义front=rear时为队空 (rear+ )%m=front 为队满 约定队头端入队向下标小的方向发展 队尾端入队向下标大的方向发展

  ( )#define M  队列可能达到的最大长度  typedef struct   elemtp data[M];  int front rear;   cycqueue;

  ( )elemtp delqueue ( cycqueue Q)  //Q是如上定义的循环队列 本算法实现从队尾删除 若删除成功 返回被删除元素 否则给出出错信息    if (Q front==Q rear)  printf( 队列空 ); exit( );  Q rear=(Q rear +M)%M;          //修改队尾指针   return(Q data[(Q rear+ +M)%M]); //返回出队元素   //从队尾删除算法结束  void enqueue (cycqueue Q elemtp x)  // Q是顺序存储的循环队列 本算法实现 从队头插入 元素x   if (Q rear==(Q front +M)%M)  printf( 队满 ; exit( );)  Q data[Q front]=x;        //x 入队列  Q front=(Q front +M)%M;    //修改队头指针   // 结束从队头插入算法

   参见

cha138/Article/program/sjjg/201311/22698

相关参考