数据结构

位置:IT落伍者 >> 数据结构 >> 浏览文章

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


发布日期:2018年08月22日
 
数据结构考研分类复习真题 第三章 答案[24]

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

)#define M 队列可能达到的最大长度

typedef struct

{ elemtp data[M];

int frontrear;

} cycqueue;

)elemtp delqueue ( cycqueue Q)

//Q是如上定义的循环队列本算法实现从队尾删除若删除成功返回被删除元素否则给出出错信息

{ if (Qfront==Qrear) {printf(队列空); exit();}

Qrear=(Qrear+M)%M; //修改队尾指针

return(Qdata[(Qrear++M)%M]); //返回出队元素

}//从队尾删除算法结束

void enqueue (cycqueue Q elemtp x)

// Q是顺序存储的循环队列本算法实现从队头插入元素x

{if (Qrear==(Qfront+M)%M) {printf(队满; exit();)

Qdata[Qfront]=x; //x 入队列

Qfront=(Qfront+M)%M; //修改队头指针

}// 结束从队头插入算法

参见

[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []

               

上一篇:数据结构考研分类复习真题 第三章 答案[23]

下一篇:数据结构考研分类复习真题 第三章 答案[26]