数据结构上机实践第四周项目5 - 猴子选大王
数据结构实践——猴子选大王
//*Copyright (c)2017,烟台大学计算机与控制工程学院*
//*All rights reservrd.*
//*文件名称 :main.cpp*
//*作者:田长航*
//*完成时间:2017年10月12日*
//*版本号:v1.0*
//*问题描述:猴子选大王*
//*输入描述:m和n*
//*程序输出:猴子大王编号*
#include <iostream>
using namespace std;
struct Monkey
{int num; //猴子的编号struct Monkey *next; //下一只猴子
};int main()
{int m,n,i,j,king;Monkey *head, *p1,*p2;cin>>m>>n;if(n==1){king=m;}else{//建立猴子围成的圆圈p1=p2=new Monkey;head = p1;p1->num=1;for(i=1; i<m; i++) //其余m-1只猴子{p1=new Monkey; //p1是新增加的p1->num=i+1;p2->next=p1;p2=p1; //p2总是上一只}p2->next=head; //最后一只再指向第一只,成了一个圆圈//下面要开始数了p1=head;for(i=1; i<m; i++) //循环m-1次,淘汰m-1只猴子{//从p1开始,数n-1只就找到第n只了for(j=1; j<n-1; j++) //实际先找到第n-1只,下一只将是被淘汰的p1=p1->next; //围成圈的,可能再开始从第一只数,如果还未被淘汰的话//找到了,p2=p1->next; //p2将被删除//cout<<"第"<<i<<"轮淘汰"<<p2->num<<endl; //可以这样观察中间结果p1->next=p2->next; //p2就这样被“架空了”p1=p2->next; //下一轮数数的新起点delete p2; //将不在链表中的结点放弃掉}king=p1->num;delete p1;}cout<<king<<endl;return 0;
}
运行结果截图如下:
数据结构上机实践第四周项目5 - 猴子选大王相关推荐
- 第四周项目5——猴子选大王
/* * Copyright (c++) 2016 烟台大学计算机学院 * All right reserved. * 文件名称:wu.cpp * 作 者: 武昊 * 完成日期:2016年9月2 ...
- 数据结构上机实践第四周项目6- 循环双链表应用
数据结构实践--循环双链表应用 线性表都是单向的?链表都是单向的? 本次实践将利用循环双链表进行实际应用,感受这种数据结构的好处 要求如下: 设非空线性表ha和hb都用带头节点的循环双链表表示.设计一 ...
- 数据结构上机实践第四周项目4 - 建设双链表算法库
数据结构之自建算法库--双链表 各种算法结构都有各自的用途,在实际中我们会碰到各种工程,单链表有时无法或者不能很好的满足我们的需求,这个时候,双链表不失为一种好的数据结构.本次实践将建立双链表算法库, ...
- 数据结构上机实践第四周项目7 - 多项式求和
项目6 - 多项式求和 用单链表存储一元多项式,并实现两个多项式的加法. 提示: 1.存储多项式的数据结构 多项式的通式是pn(x)=anxn+an−1xn−1+...+a1x+a0.n次多项式共 ...
- 数据结构上机实践第四周项目3 - 单链表应用
[项目3 - 单链表应用] 算法的建立就是为了应用所服务的,学会方法,真正能应用才是王道. 应用要求如下: 完成下面的应用时,除项目中给出的特殊要求,其余工作均可利用项目2完成的算法支持. 1.设计 ...
- 数据结构上机实践第四周项目2 - 建设“单链表”算法库
项目2 - 建设"单链表"算法库 本次实践的目的以多文件组织的形式建设"单链表算法库",以便在后续的工程中使用. 文中的多文件组织方式不再细说,可以点击此处参照 ...
- 数据结构上机实践第四周项目1 - 建立单链表
[项目1 - 建立单链表] 本次项目的目标是定义单链表存储结构,用头插法和尾插法建立单链表,并显示建立好以后的结果. 测试主函数及函数声明源代码如下: //*Copyright (c)2017,烟台大 ...
- 【数据结构机试复习2】 赛马 猴子选大王
EX1:赛马 A与B之间将进行一场赛马比赛,C为裁判.A与B分别拥有n匹马,这2n匹马中每匹马拥有的能力值都不相同.比赛前,参赛的两人先决定自己的马的出场顺序:比赛时,A的第一匹马将对战B的第一匹马, ...
- 第四周实践项目5 猴子选大王(循环链表)
/* *Copyright (c) 2017,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:项目5-一群猴子,编号是1,2,3 -m,这群猴子(m个)按照1-m ...
最新文章
- Nature子刊:遗传发育所白洋组发表高通量分离培养和鉴定根系细菌的方法
- MyEclipse Spring 学习总结一 Spring IOC容器
- SD-WAN — 应用场景
- VMware 虚拟化编程(5) — VixDiskLib 虚拟磁盘库详解之一
- java8升级java11到底敢不敢?
- 今天在cnblog开博啦
- 计算机二级offic考试题库2017,2017年9月计算机二级MSOffice考试题「带答案」
- 600分理科选计算机专业,天津600分左右,计算机或电子信息专业,怎么选院校?...
- C++并发中的条件变量 std::condition_variable
- 2019118_四个化学数据分析(3)
- # 每天阅读一个 npm 模块(7)- delegates
- 做电话营销,如何避免成为骚扰电话
- matlab与焓湿图,湿空气性质与焓湿图应用
- 尝试docker1.12内置swarm
- java项目笔记 - 第16章:坦克大战1.0
- 一站式数字藏品收款系统开发解决方案
- 肝进ICU,万字真言点化八大排序——我奶奶都看得懂的算法详解
- 如何将PDF文件转换成PPT
- python输入国家显示首都名_Java各国首都列表
- 1.1程序设计(C语言基础)
热门文章
- 牛客网暑期ACM多校训练营(第二场): H. travel(树形线头DP)
- Codeforces Round #222 (Div. 2): C. Maze(BFS)
- 欧拉筛(bzoj 2818: Gcd)
- bzoj 1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛(BFS)
- bzoj 1303: [CQOI2009]中位数图
- 扩展欧几里得原理与模板
- Hbase数据结构+hbase shell基本语法
- 向量-创建数组-linspace/logspace函数
- Quartus17下使用Modelsim10进行仿真
- pyqt5_tools下找不到designer.exe新版的designer.exe放在\pyqt5_tools\Qt\bin下