数据结构程序设计——约瑟夫双向生死杀人游戏

本文介绍了使用数据结构中的双向链表来实现约瑟夫问题的程序设计,包括添加、删除元素及按顺序自动删除的功能。
摘要由CSDN通过智能技术生成

首先是主函数:

/**
*版权所有(C)2017,ShangWenZhe
*
*文件名称:main.cpp
*文件标识:无
*内容摘要:本文件的作用是调用算法库里面的函数,完成题目要求。
*其它说明:无
*当前版本:V1.0
*作者:尚文哲
*完成日期:2017,12,15
**/

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include"Jd.h"

int main()
{
int total = 30;//总人数
int target = 15;//目标保留的人数
int forward = 9;//正向位移数
int reverse = 5;//反向位移数
find(creat(total), total, forward, reverse, target);
return 0;
system("pause");
}
接下来是头文件:

/**
*版权所有(C)2017,Shangwenzhe。
*
*文件名称:Jd.h
*文件标识:无
*内容摘要:本文件的作用是声明节点的结构,还有需要用到的函数。
*其它说明:无
*当前版本:V1.0
*作者:尚文哲
*完成日期:2017,12,15
**/

#ifndef JD_H_INCLUDED
#define JD_H_INCLUDED


typedef struct Node
{
    int num;//用于保存当前序号
    struct Node *next;//下一个节点指针
    struct Node *previous;//上一个节点指针
}
LinkList;

LinkList *create(int n);//创建链表
void find(LinkList *l, int total, int forward, int reverse, int target);//查找到人之后删除。


#endif // JD_H_INCLUDED
最后是头文件的实现:

/**
*版权所有(C)2017,Shangwenzhe
*
*文件名称:Jd.cpp
*文件标识:无
*内容摘要:本文件的作用是实现.h文件里面的函数。
*其它说明:无
*当前版本:V1.0
*作者:尚文哲
*完成日期:2017,12,15
**/
  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值