⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 josex.cpp.txt

📁 Josephus 问题描述 数据结构为链表的插入与查询
💻 TXT
字号:
//***********************************
//****    josex.cpp             ***
//********************* *************

#include <iostream.h>
#include "ring.h"
#include "josex.h"

void Jose::Initial()    //初始化程序
{
	int num,begin,m;
	cout<<"please input the number of boys,"
		  "begin position and interval per count :\n";
    cout<<"number=";
    cin>>num;
    cout<<"position=";
    cin>>begin;
    cout<<"interval per count=";
    cin>>m;
	if (num<2)     //  如果输入有错误,程序返回相当于没有执行初始化出事,
	{              //  但是在MAIN创建对象是有默认的初始化
		cerr<<"bad number of boys !\n";
		return;
	}
	if (begin<0)
	{
		cerr<<"bad begin position. \n";
		return;
	}

	if(m<1||m>num)
	{
		cerr<<"bad interval number , \n";
		return;
	}

	numOfBoys=num;
	beginPos =begin;
	interval =m;
}

void Jose::GetWinner()   //主算法
{
	Ring x(numOfBoys);  //已经连接好了一个环了;
	x.Count(beginPos);  //指向出发点

	for (int i=1;i<numOfBoys;i++)
	{
		x.Count(interval);
		x.PutBoy();
		x.ClearBoy();
	}
	cout<<"\n the winner is ";
  	x.PutBoy();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -