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

📄 yuesefu.cpp

📁 用来解决数据结构中约瑟夫环的问题
💻 CPP
字号:
#include <iostream.h>
struct slink
{
	int number;
	int code;
	slink *next;
};

void init ( int n , slink *sl )
{
	int i;
	slink *s,*t;
	for (i=1;i<=n;i++)
	{
		s=new slink;
		s->number=i;
		cout<<"请输入第"<<i<<"个人密码:";
		cin>>s->code;
		if (sl->next==NULL)
		{
			sl->code=s->code;
			sl->number=s->number;
			sl->next=sl;
			t=sl;
		}
		else
		{
			sl->next=s;
			s->next=t;
			sl=s;
		}
	}
	sl=t;
}

void call(int m,slink *sl)
{
	int i;
	int j;
	slink *p;
	j= 1;
	for (i=1;i<=7;i++)
	{
		for(;j<m-1;j++)
		{
			//cout<<"sl="<<sl->number<<endl;
			sl=sl->next;
			//cout<<"j="<<j<<endl;
			//cout<<"/////////////"<<endl;

		}
		p=sl->next;
		m=p->code;
		cout<<"退出第"<<p->number<<"个人"<<endl;
		sl->next=p->next;
		delete p;
		//cout<<"sl:"<<sl->number<<"个人"<<endl;
		//cout<<"****************************"<<endl;
		j=0;
	}
}

void print(int n,slink *sl)
{
	for (int i=1;i<=n;i++)
	{
		//cout<<sl->number<<'\t'<<sl->code<<endl;
		sl=sl->next;
	}
}

int main()
{
	int n,m;
	slink *sl;
	sl=new slink;
	sl->number=0;
	sl->code=0;
	sl->next=NULL;
	cout<<"请输入人数:";
	cin>>n;
	init(n,sl);
	print(n,sl);
	cout<<"请输入出队数:";
	cin>>m;
	call(m,sl);
	return 0;
}

⌨️ 快捷键说明

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