C数据结构循环链表实现约瑟夫环

发布时间 - 2026-01-11 01:03:02    点击率:

C数据结构循环链表实现约瑟夫环

本文代码均在turbo C 2.0 的环境下运行通过,并得到正确结果,本程序为用循环链表实现约瑟夫环,即有m个人站成一个圆环,从某人(队列第一个)开始报数,约定从某数开始的第n个人出列,他的下一个再从一开始报,然再一个报道n的人出列,本程序结果为人员出列顺序,

#include<stdio.h>
#include<conio.h>
#define OK  1
#define NULL 0
typedef int status;
typedef int  ElemType;
typedef struct LNode{
        ElemType data;
        struct LNode *next;
        }LNode,*LinkList;
LinkList L;
status CreateList_L(LinkList *L,int m)
{LNode *p,*q;
 int i;
 *L=(LinkList)malloc(sizeof(LNode)) ;
 q=*L;
 q->data=1;
 for(i=2;i<=m;i++)
 {p=(LinkList)malloc(sizeof(LNode));
  p->data=i;
  p->next=NULL;
  q->next=p;
  q=p;
 }
  q->next=*L;
  return OK;
}
status function(LinkList *L,int m,int n)
{LNode *p,*q;
int i,j=1,k=1;
p=*L;
q=p;
do
{p=q->next;j++;
if(j%n==0)
{printf("%3d",p->data);
q->next=p->next;
k++;
free(p);
}
else q=p;
}while(k<=m);
return OK;
}
void main()
{int m,n;
 clrscr();
 gotoxy(5,8);
 printf("***************************************************\n");
 gotoxy(5,9);
 printf("**** the list's length is :          ****\n");
 gotoxy(35,9);
 scanf("%d",&m);
 gotoxy(5,10);
 printf("****the xunhuan's length is :         ****\n");
 gotoxy(35,10);
 scanf("%d",&n);
 gotoxy(5,11);
 printf("***************************************************\n");
 CreateList_L(&L, m);
 function(&L,m,n);
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# 用循环链表实现约瑟夫环  # C语言数据结构约瑟夫环  # C++ 约瑟夫环的实例代码  # C++ 中循环链表和约瑟夫环  # C++ 中约瑟夫环替换计数器m(数组解决)  # C++循环链表之约瑟夫环的实现方法  # Josephus环的四种解法(约瑟夫环)基于java详解  # C语言基于循环链表解决约瑟夫环问题的方法示例  # Java简单实现约瑟夫环算法示例  # C语言约瑟夫环的实现  # 详解基于C++实现约瑟夫环问题的三种解法  # 约瑟夫  # 的人  # 链表  # 第一个  # 数据结构  # 希望能  # 谢谢大家  # gt  # conio  # lt  # stdio  # define  # int  # typedef  # NULL  # status  # br  # strong  # turbo  # pre 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  Python自动化办公教程_ExcelWordPDF批量处理案例  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  公司网站制作需要多少钱,找人做公司网站需要多少钱?  Laravel如何发送系统通知?(Notification渠道示例)  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  如何在Windows 2008云服务器安全搭建网站?  个人摄影网站制作流程,摄影爱好者都去什么网站?  WordPress 子目录安装中正确处理脚本路径的完整指南  网站制作大概多少钱一个,做一个平台网站大概多少钱?  香港服务器WordPress建站指南:SEO优化与高效部署策略  使用spring连接及操作mongodb3.0实例  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  Laravel如何处理表单验证?(Requests代码示例)  Python文本处理实践_日志清洗解析【指导】  JavaScript如何实现音频处理_Web Audio API如何工作?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  七夕网站制作视频,七夕大促活动怎么报名?  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  如何在Windows虚拟主机上快速搭建网站?  如何在阿里云香港服务器快速搭建网站?  javascript基于原型链的继承及call和apply函数用法分析  Laravel如何处理文件下载请求?(Response示例)  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  Laravel如何使用查询构建器?(Query Builder高级用法)  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  如何快速搭建安全的FTP站点?  太平洋网站制作公司,网络用语太平洋是什么意思?  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  Laravel Session怎么存储_Laravel Session驱动配置详解  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  高端智能建站公司优选:品牌定制与SEO优化一站式服务  如何快速重置建站主机并恢复默认配置?  HTML 中如何正确使用模板变量为元素的 name 属性赋值  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  PythonWeb开发入门教程_Flask快速构建Web应用  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  Python文件流缓冲机制_IO性能解析【教程】  北京网站制作的公司有哪些,北京白云观官方网站?