• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > C数据结构循环链表实现约瑟夫环

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

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了循环链表约瑟夫环,约瑟夫环循环链表实现,单循环链表约瑟夫环,约瑟夫环单向循环链表,约瑟夫环c语言链表等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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);
}

</div>

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C数据结构循环链表实现约瑟夫环
  • C++循环链表之约瑟夫环的实现方法

相关文章

  • 2017-05-28C++二叉树结构的建立与基本操作
  • 2017-05-28C语言实现的猴子分桃问题算法解决方案
  • 2017-05-28C++虚函数及虚函数表简析
  • 2022-04-30C语言fgetc和fputc函数用法详解(以字符形式读写文件)
  • 2017-05-28桶排序算法的理解及C语言版代码示例
  • 2017-05-28C++函数的嵌套调用和递归调用学习教程
  • 2017-05-28Cocos2d-x学习笔记之世界坐标系、本地坐标系、opengl坐标系、屏幕坐标系
  • 2017-05-28C++实现第K顺序统计量的求解方法
  • 2017-05-28有关C++继承与友元、继承与类型转换详解
  • 2017-05-28C++基础知识实例解析(一)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • c++中strcpy函数在VS2015无法使用的问题
    • C语言获取消耗内存的方法
    • php5系列的apache远程执行漏洞攻击脚本
    • c语言字符数组与字符串的使用详解
    • C语言实现找出二叉树中某个值的所有路径的方法
    • C++中继承与组合的区别详细解析
    • C语言嵌入informix基础入门示例讲解
    • C++使用递归和非递归算法实现的二叉树叶子节点个数计算方法
    • 基于大端法、小端法以及网络字节序的深入理解
    • C++中字符串查找操作的两则实例分享

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有