数据结构之 击鼓传花
2015/10/16/
///by XBW//
//环境 vs2013//
这是我们的数据结构的一个作业题,一个小作业之所以上博客,是希望在此mark一下,祭奠我失去的两天时光,以此警醒我要读明白题目之后再做题;先看一下被自己坑了的题目;
Home | Web Board | ProblemSet | Standing | Status | Statistics |
Problem B: 击鼓传花
Time Limit: 1 Sec Memory Limit: 2 MB
Submit: 1429 Solved: 497
[ Submit][ Status][ Web Board]
Description
Input
Output
Sample Input
Sample Output
HINT
Append Code
[ Submit][ Status][ Web Board]
这个就是我们的题目,就是因为没有看清楚是输出玩家手中的号码牌还是玩家的顺序,不是输出号码牌,而是输出玩家的位置;
看一下伤心的代码吧
#include <iostream>
using namespace std;
typedef struct LNode
{int data;//玩家号码牌int caonima;//一时生气搞得变量,他就是记录玩家位置的struct LNode *next;
}*LinkList;
void CreatList(LinkList *L)
{*L = new LNode;(*L)->next = *L;(*L)->caonima = 1;
}
void InsertList(LinkList *L, int t)//给链表赋值
{int num;int caonima = 1;LinkList p = *L, s;for (int i = 0; i < t; i++){cin >> num;s = new LNode;s->data = num;s->caonima = caonima++;s->next = p->next;p->next = s;if (p == *L)*L = s;p = p->next;}
}
void DestroyList(LinkList *L)
{LinkList q, p = (*L)->next; /* p指向头结点 */while (p != *L) /* 没到表尾 */{q = p->next;delete(p);p = q;}delete(*L);*L = NULL;
}
void ClearList(LinkList *L) /* 改变L */
{ /* 初始条件:线性表L已存在。操作结果:将L重置为空表 */LinkList p, q;*L = (*L)->next; /* L指向头结点 */p = (*L)->next; /* p指向第一个结点 */while (p != *L) /* 没到表尾 */{q = p->next;delete(p);p = q;}(*L)->next = *L; /* 头结点指针域指向自身 */
}
int main()
{int N;int Counts = 0;cin >> N;while (N--){cout << "Case #" << ++Counts << ":" << endl;LinkList L;LNode *p, *q, *s;CreatList(&L);p = L;q = L;int T;cin >> T;if (T == 0){cout << endl;continue;}InsertList(&L, T);L = p;T--;int first = 1;while (T--){p = p->next;if (p == L){p = p->next;}int con = p->data;for (int i = 0; i < con; i++){if (p->next == L){p = p->next;}if (con - i == 1){q = p;}p = p->next;}if (first){cout << p->caonima;//输出位置,而不是号码牌first = 0;}else{cout << " " << p->caonima;//同上}s = q->next;//删除指针q->next = s->next;delete(s);p = q;}cout << endl;ClearList(&L);DestroyList(&L);}
}
数据结构之 击鼓传花相关推荐
- 数据结构之栈和队列以及如何封装栈和队列,栈和队列的实例(进制转换和击鼓传花)
什么是数据结构? 不同的书对数据结构有不同的定义,例如: "数据结构是数据对象,以及存在于该对象的实例和 组成实例的数据元素之间的各种联系.这些联系可以通过定义相关的函数来给出." ...
- 击鼓传花java_关于javascript:JavaScript-使用数据结构队列来实现击鼓传花
击鼓传花游戏 原游戏规则: 班级中玩一个游戏,所有学生围成一圈,从某位同学手里开始向旁边的同学传一束花. 这个时候某个人(比方班长),在击鼓,鼓声停下的一刻,花落在谁手里,谁就进去表演节目 在编程中的 ...
- 数据结构--队列--js击鼓传花算法实现
击鼓传花游戏 原游戏规则: 班级中玩一个游戏,所有学生围成一圈,从某位同学手里开始向旁边的同学传一束花. 这个时候某个人(比如班长),在击鼓,鼓声停下的一刻,花落在谁手里,谁就出来表演节目 一般在编程 ...
- JavaScript 击鼓传花的游戏 使用数据结构---队列来实现击鼓传花
击鼓传花游戏 原游戏规则: 班级中玩一个游戏,所有学生围成一圈,从某位同学手里开始向旁边的同学传一束花. 这个时候某个人(比如班长),在击鼓,鼓声停下的一刻,花落在谁手里,谁就出来表演节目 一般在编程 ...
- 分享一个有意思题目--击鼓传花
在看javaScript数据结构与算法这本书时,看到一个挺有意思的题目--击鼓传花 在这个游戏中,孩子们围成一个圆圈,把花尽快地传递给旁边的人.某一时刻传花停止, 这个时候花在谁手里,谁就退出圆圈结束 ...
- JS使用普通队列实现击鼓传花游戏
最近复习到了数据结构中的普通队列部分,来实现一个击鼓传花游戏的应用. 循环队列的一个例子就是击鼓传花(hot potato),在这个游戏中,孩子们围成一个圆圈,把花尽快地传递给旁边的人.某一时刻传话停 ...
- JavaScript通过队列和双端队列实现击鼓传花游戏
游戏规则: 民间击鼓传花游戏,也称传彩球.数人.十数人或数十人围成一个圆圈,把花尽快地传递给旁边的人.某一时刻传花停止,这个时候花在谁手里,谁就退圈.结束游戏.重复该过程,直到只剩一个人(胜利者). ...
- 击鼓传花c语言编程题,c语言-第5章 循环程序设计.ppt
<c语言-第5章 循环程序设计.ppt>由会员分享,可在线阅读,更多相关<c语言-第5章 循环程序设计.ppt(83页珍藏版)>请在人人文库网上搜索. 1.第5章 循环程序设计 ...
- 击鼓传花:对比 muduo 与 libevent2 的事件处理效率
前面我们比较了 muduo 和 libevent2 的吞吐量,得到的结论是 muduo 比 libevent2 快 18%.有人会说,libevent2 并不是为高吞吐的应用场景而设计的,这样的比较不 ...
最新文章
- Nginx配置跨域请求 Access-Control-Allow-Origin *
- ajax跨域问题解决方案
- 事件源event.target
- 安利一个超好用的Pandas数据挖掘分析神器
- javascript 控制弹出窗口
- 二维GROUP BY
- springboot监控服务器信息,面试官:聊一聊SpringBoot服务监控机制
- MyCat分布式数据库集群架构工作笔记0016---高可用_单表存储千万级_海量存储_垂直分库划分原则
- CentOS环境设置Hbase自启动
- 李宏毅 -《深度学习人类语言处理》国语版(2020)视频课程及ppt分享
- [转] 驱动模拟键盘鼠标
- ADC信噪比计算公式
- linux 指令安装显卡驱动,Linux 16.04 LTS 安装显卡驱动
- 关于jsoncpp使用时报错Use StreamWriterBuilder instead
- 微信网页授权接口 对象存储
- 约束最优化求解-拉格朗日函数Hesse阵的SQP二次规划方法求解约束最优化问题-梯度法求解无约束最优化问题
- Jaca程序基础学习笔记
- windows系统下ink!canvas-node安装
- HTML/JSP中一些单书名号标签的用途
- 【献计一刻】软件开发小工的学习和工作清单
热门文章
- java毕业设计峨眉山景点介绍及旅游攻略推荐平台Mybatis+系统+数据库+调试部署
- WINCE里随时用HOT KEY切出中文输入法
- 端口问题让HP1010在WIN7下打印速度超慢
- jni学习实例(三)-a7105模块驱动之activity
- php 5.4 fastcgi,护卫神·PHP套件[FastCGI],PHP5.4.41
- 元宇宙江湖里的“牛鬼蛇神”
- 搭建一个游戏平台运营团队都需要什么?
- AnyDVD HD 6.1.2.3 Final
- 对某安卓应用进行分析爬取课表数据制作懒人课表(二)
- MATLAB学习笔记1:MATLAB概述