知识大全 数据结构考研分类复习真题 第三章 答案[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相关参考