云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 《数据结构——C语言描述》习题及答案 耿国华 2

《数据结构——C语言描述》习题及答案 耿国华 2

  • 62 次阅读
  • 3 次下载
  • 2025/5/2 5:28:35

6. 要求循环队列不损失一个空间全部都能得到利用, 设置一个标志域tag , 以tag为0或1来区分头尾指针相同时的队列状态的空与满,请编写与此结构相应的入队与出队算法。 [提示]:

初始状态:front==0, rear==0, tag==0 队空条件:front==rear, tag==0 队满条件:front==rear, tag==1

其它状态:front !=rear, tag==0(或1、2)

入队操作: …

…(入队)

if (front==rear) tag=1;(或直接tag=1)

出队操作: …

a

…(出队) tag=0;

[问题]:如何明确区分队空、队满、非空非满三种情况?

7. 简述以下算法的功能(其中栈和队列的元素类型均为int):

(1)void proc_1(Stack S)

{ int i, n, A[255]; n=0;

while(!EmptyStack(S))

{n++; Pop(&S, &A[n]);}

for(i=1; i<=n; i++) Push(&S, A[i]); }

将栈S逆序。

(2)void proc_2(Stack S, int e)

a

{ Stack T; int d; InitStack(&T);

while(!EmptyStack(S))

{ Pop(&S, &d);

if (d!=e) Push( &T, d); }

while(!EmptyStack(T))

{ Pop(&T, &d); Push( &S, d); } }

删除栈S中所有等于e的元素。 (3)void proc_3(Queue *Q)

{ Stack S; int d; InitStack(&S);

while(!EmptyQueue(*Q))

{

a

DeleteQueue(Q, &d); Push( &S, d);

}

while(!EmptyStack(S))

{ Pop(&S, &d); EnterQueue(Q,d) } }

将队列Q逆序。

实习题

1. 回文判断。称正读与反读都相同的字符序列为“回文”序列。

试写一个算法,判断依次读入的一个以@为结束符的字母序列,是否为形如‘序列1 &序列2’模式的字符序列。其中序列1和序列2 中都不含字符‘&’,且序列2

a

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

6. 要求循环队列不损失一个空间全部都能得到利用, 设置一个标志域tag , 以tag为0或1来区分头尾指针相同时的队列状态的空与满,请编写与此结构相应的入队与出队算法。 [提示]: 初始状态:front==0, rear==0, tag==0 队空条件:front==rear, tag==0 队满条件:front==rear, tag==1 其它状态:front !=rear, tag==0(或1、2) 入队操作: … …(入队) if (front==rear) tag=1;(或直接tag=1) 出队操作: … a …(出队) tag=0; [问题]:如何明确区分队空、

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com