北邮数据结构实验约瑟夫环.docVIP

  • 5
  • 0
  • 约2.28千字
  • 约 6页
  • 2018-11-23 发布于广东
  • 举报
北邮数据结构实验约瑟夫环.doc

数据结构实验报告 实验名称:实验1——约瑟夫环 学生姓名: 班 级: 班内序号: 学 号: 口 期: 实验要求 实验目的: 通过利用循环链表实现约瑟夫问题的求解进行实现,掌握如下内容: 熟悉C++语言的基本编程方法,掌握集成编译环境的调试方法 学习指针、模板类、异常处理的使用 掌握线性表的操作的实现方法 学>』使用线性表解决实际问题的能力 实验内界: 利用循环链表实现约瑟夫问题的求解。 约瑟夫问题如下:已知n个人(n〉=l)围坐一圆桌周围,从1开始顺序编号。从序 号为1的人开始报数,顺吋针数到m的那个人出列;他的下一个人又从1开始报数,数到 m的那个人又出列;依此规则重复下去,直到所有人全部出列。请问最后一个出列的人的编 号、 程序分析 2.1存储结构 首先构建结点的结构体,包拈结点的编号rnnnber和指向后继元素的指针*!^^。然 后构建循环链表储存每一个结点。 2.2关键算法分析 1、关键算法: 插入: 用尾插法构建循环链表,建立一个尾指针1?用来保存最后一个结点的地址, 插入每一个节点后,r指向新插入的结点。用for循环来给每一个结点的 number 赋值。 插入的步骤: 建立新指针s; 在for循环中给s赋值; 将r指针指向s; 修改尾招针r=s 在全部结点插入后,将终端结点指肉第一个指针,r-〉next=front-〉next。 约瑟夫环算法实现: 因为每次循环都有一个

文档评论(0)

1亿VIP精品文档

相关文档