资源简介
ysfGame.zip
代码片段和文件信息
#include
using namespace std;
class Node //创建双向循环链表的结点类
{
friend class Doublelist; //作为友元类
friend void DoubleJoseph(); //作为友元函数来调用
public:
Node();
int data;
Node *prior;
Node *next;
private:
};
class Doublelist //双向循环链表类
{
friend void DoubleJoseph(); //作为友元函数来调用
public:
void Creatlist(Doublelist &L); //双向循环链表
int getLength(Doublelist &L); //用于获取双向链表的长度
Doublelist();
private:
Node *Head;
};
Node::Node() //Doublelist类的构造函数初始化结点数据
{
data = 0;
prior = NULL;
next = NULL;
}
Doublelist::Doublelist() //Doublelist类的构造函数初始化链表数据
{
Head = NULL;
}
void Doublelist::Creatlist(Doublelist &L) //建立双向循环链表
{
cout << “\t\t请输入双向生死游戏的总人数N:“;
int n;
cin >> n;
Node *p*s;
for(int i=1;i<=n;i++)
{
p=new Node; //构造头结点
p->data=i;
p->next=NULL;
if(i==1)
{
L.Head=p;
p->prior=NULL;
s=L.Head;
}
else
{
s->next=p;
p->prior=s;
s=s->next;
}
}
s->next = L.Head;
L.Head->prior = p;
}
int Doublelist::getLength(Doublelist &L) //获取双向链表的长度
{
Node *p = L.Head;
int count = 0;
while(p->next != L.Head)
{
count++;
p = p->next;
}
count++;
return count;
}
void DoubleJoseph() //实现约瑟夫双向生死游戏
{
Doublelist L; //定义链表
L.Creatlist(L); //建立链表
Node *p*q*r; //定义指针
p = L.Head; //定义头结点
cout << “\t\t请输入游戏开始的位置S:“; //输入开始报数位置S
int s;
cin >> s;
cout << “\t\t请输入正向的死亡数字M:“; //输入正向死亡位置M
int m;
cin >> m;
cout << “\t\t请输入逆向的死亡数字W:“; //输入逆向死亡位置W
int w;
cin >> w;
cout << “\t\t请输入剩余的生者人数“; //输入剩余生存人数K
int k;
cin >> k;
cout << endl;
int t = 1; //初始定义t值
while( k {
if(t%2) //判断正向逆向
{
for(int j=0; j {
q=p;
p=p->next;
}
if(p == L.Head) //元素定位出列
{
r=p;
L.Head = p->next; //指向下一元素结点
q->next = p->next; //依次更换元素结点
p->next->prior = q;
p = p->next;
}
else
{
r = p;
q->next = p->next;
p->next->prior = q;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5121 2017-06-30 21:08 ysf\ysfg.cpp
文件 477930 2019-01-08 19:24 ysf\报告.docx
相关资源
- 脑电信号处理.rar
- 普中PZ6806L开发板光盘资料结构必看
- 机械设计手册PDF和软件版.txt
- KT国际彩2018.7修复完整无错.rar
- ai智能伪原创.zip
- 数据结构农夫过河.rar
- 关于nfa确定化.zip
- B.pdf
- 百度网盘信息.txt
- JQ8900串口.zip
- 7E种子号.txt
- 链接-提取码.txt
- 北理工2018最优化方法大作业90.zip
- 体检系统.sln
- 220vto5v_Project.rar
- Cprimeplus第六版程序清单.zip
- 网盘.txt
- 电影票预订系统.doc
- 迅雷.txt
- FortranonVSonWindows10安装方法.txt
- 交通咨询管理系统课程设计.doc
- qq_41508508_10582420.zip
- Spark.txt
- visio2013.txt
- ArcGIS全套文件.txt
- 学成在线百度网盘链接.txt
- NavicatPremium12破解版.zip
- 开源1A锂电池充电板TP4056原理图PCB.r
- 内含提取码.txt
- CYC.unity
评论
共有 条评论