#include<iostream>
using namespace std;
#include<malloc.h>
typedef struct LNode//创建单向循环链表的存储结构
{
int code;
int num;
LNode *next;
}LNode,*Linklist;
void Create_list(Linklist &L,int &m,int &n)//根据人数创建链表,m表示上限值,n表示总人数
{
int i;
LNode *p,*q;
cout<<"请输入上限值 m : "<<endl;
cin>>m;
cout<<"请输参与总人数n: "<<endl;
cin>>n;
for(i=1;i<=n;i++)
{
p=new LNode;
cout<<"请输入第"<<i<<"个人的密码code:"<<endl;
cin>>p->code;
p->num=i;
if(L==NULL)
L=q=p;
else
q->next=p;
q=p;
}
p->next=L;
}
void Print_list(Linklist L,int m,int n)//输出链表
{
int temp=m;
LNode *p,*q;
p=q=L;
while(q->next!=q)
{
while(temp!=1)
{
q=p;
p=p->next;
temp--;
}
cout<<p->num<<" ";//输出出列人的序号
temp=p->code;
q->next=p->next;
delete p;//释放出列人的存储空间
p=q->next ;
}
cout<<q->num; //输出最后一个人的序号
}
void main()
{
int m=0,n=0;
Linklist L=NULL;
Create_list(L,m,n);
cout<<"出列人员的顺序为:"<<endl;
Print_list(L,m,n);
}
yuesefu.rar_循环链表 约瑟夫
版权申诉
78 浏览量
2022-09-24
13:28:11
上传
评论
收藏 996B RAR 举报
Kinonoyomeo
- 粉丝: 74
- 资源: 1万+
最新资源
- Qt开发知识、经验总结 包括Qss,数据库,Excel,Model/View等
- IV数据.xlsx
- 一些深度学习中的小例子,适合新手学习使用
- foldcraftlauncher_262944.apk
- 珍藏多年的基于matlab实现潮流计算程序源代码集合,包含多个潮流计算程序.rar
- 使用FPGA实现串-并型乘法器
- 基于matlab实现针对基于双曲线定位的DV-Hop算法中误差误差出一种基于加权双曲线定位的DV-Hop改进算法.rar
- 基于matlab实现由遗传算法开发的整数规划,车辆调度问题.rar
- 电视家7.0(对电视配置要求高).apk
- 免费计算机毕业设计-基于JavaEE的医院病历管理系统设计与实现(包含论文+源码)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈