专栏首页C语言入门到精通数据结构 | 每日一练(26)

数据结构 | 每日一练(26)

数据结构

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下

——老子

1

每日一练

1.在本题的程序中,函数过程 Create_link_list(n)建立一个具有 n 个结点的环形链表;程序过程josephus(n,i,m)对由Create_link_list(n)所建立的具有n个结点的环形链表按一定的次序逐个输出并删除链表中的所有结点,参数 n(n>0)指明环形链表的结点个数,参数 i(1<=i<=n)指明起始结点,参数 m (m>0)是步长,指明从起始结点或前次被删除并输出的结点之后的第 m 个结点作为本次被输出并删除的结点。例如,对于下图中具有 6 个结点的环形链表,在调用 josephus(6,3,2)后,将输出 5,1,3,6,4,2 请在横线处填上适当内容,

每空只填一个语句。

TYPE nodeptr=^nodetype;

nodetype=RECORD

data: intrger; link: nodeptr

END;

VAR n,i,m: integer;

FUNCTION Create_link_list(n: integer): nodeptr;

VAR head,p,q: nodeptr; i:integer;

BEGIN head := NIL;

IF n>0 THEN

BEGIN new(head); p: =head;

FOR i:=1 TO n-1 DO

BEGIN p^.data:=i; new(q); (A)____; (B)____ END;

p^.data:=n; (C)___;

END;

Creat_link_list:=head

END;

PROCEDURE josephus(n,i,m:integer);

VAR p,q:nodeptr; j:integer;

BEGIN p:=Creat_link_list(n);

WHILE i>1 DO BEGIN p:=p^.link; i:=i-1 END;

(D)___ ;

WHILE j<n DO

BEGIN

FOR i:=1 TO m-1 DO p:=p^.link;

(E)___; write(q^.data:8); (F)__ ;

dispose(q); j:=j+1

END

END;

正确答案

1.

(A)p^.link:=q;∥拉上链,前驱指向后继

(B)p:=q;∥新的前驱

(C)p^.link:=head;∥形成循环链表

(D)j:=0; ∥计数器,记被删结点

(E)q:=p^.link∥记下被删结点

(F)p^.link=q^.link ∥删除结点

如果您觉得本篇文章对您有作用,请转发给更多的人,点一下好看就是对小编的最大支持!

-end-

本文分享自微信公众号 - C语言(ycl_printf)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-04-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 数据结构 | 每日一练(24)

    ——老子

    闫小林
  • 数据结构 | 每日一练(46)

    1.已知不带头结点的线性链表 list,链表中结点构造为(data、link),其中 data 为数据域,link 为指

    闫小林
  • 数据结构 | 每日一练(51)

    1. 已知非空线性链表由 list 指出,链结点的构造为(data,link).请写一算法,将链表中数据域值最小的那个链结点移到链表的最前面。要求:不得额外申请...

    闫小林
  • JavaScript 图片的上传前预览(兼容所有浏览器)

    功能描述 通过 JavaScript 实现图片的本地预览(无需上传至服务器),兼容所有浏览器(IE6&IE6+、Chrome、Firefox)。 实现要点 ● ...

    joshua317
  • 交换机成环故障分析

    一天下午两点多钟,服务台突然接到电话,说多个业务系统无法访问虚机。到了公司机房,发现网络设备流量异常,VC控制台多台ESXI突然断开,短信告警信息频发,部分VC...

    孙杰
  • Asp.Net Web API 2第四课——HttpClient消息处理器

        Asp.Net Web API第一课:入门http://www.cnblogs.com/aehyok/p/3432158.html

    aehyok
  • 处理器高危漏洞无人幸免?树莓派:我们不受影响

    机器之心
  • WMI-Win32_Processor CPU 参数

    AddressWidth --在32位操作系统,该值是32,在64位操作系统是64。 Architecture --所使用的平台的处理器架构。 Asse...

    Pulsar-V
  • 0624-6.2.0-NiFi处理器介绍与实操

    Fayson在前面的文章介绍了什么是NiFi,参考《0622-什么是Apache NiFi》。同时对如何在CDH中使用Parcel安装CFM做了介绍,参考《06...

    Fayson
  • (2019)[前端]面试题[8]:CSS动画中的transition和animation

    有一个很有意思的现象:如果把transition: width 1s 0.5s ease-in-out;写在:hover上会怎样?

    无道

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动