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

📄 ds2_2.cpp

📁 这是清华大学出版社的《数据结构》的电子文档讲义
💻 CPP
字号:
// ds2_2.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "array.h"

void Josephus(array<int>a,int n,int s,int m){
	int i,j,k,temp;
	if(m==0) {cout<<"无效参数!"<<endl;	return; }
	for(i=0; i<n; i++) a[i]=i+1;
	i=s-1;
	for(k=n; k>=1; k--){
		if(i==k)i=0;
		i=(i+m-1)%k;
		if(i!=k-1){
			temp=a[i];
			for(j=i; j<k-1; j++) a[j]=a[j+1];
			a[k-1]=temp;
			}
		}
	for(k=0; k<n/2; k++){
		temp=a[k];
		a[k]=a[n-k-1];
		a[n-k-1]=temp;
		}
	for(i=0; i<n; i++) cout<<a[i]<<',';
	cout<<endl;
	}

int main(int argc, char* argv[])
{
	int number,start,men;
	cout<<"请输入总人数..."<<endl;		cin>>number;
	cout<<"请输入开始位置..."<<endl;	cin>>start;
	cout<<"请输入出局位置..."<<endl;	cin>>men;
	array<int> people(number);
	Josephus(people,number,start,men);
	return 0;
}

⌨️ 快捷键说明

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