C數(shù)據(jù)結(jié)構(gòu)循環(huán)鏈表實(shí)現(xiàn)約瑟夫環(huán)
C數(shù)據(jù)結(jié)構(gòu)循環(huán)鏈表實(shí)現(xiàn)約瑟夫環(huán)
本文代碼均在turbo C 2.0 的環(huán)境下運(yùn)行通過(guò),并得到正確結(jié)果,本程序?yàn)橛醚h(huán)鏈表實(shí)現(xiàn)約瑟夫環(huán),即有m個(gè)人站成一個(gè)圓環(huán),從某人(隊(duì)列第一個(gè))開(kāi)始報(bào)數(shù),約定從某數(shù)開(kāi)始的第n個(gè)人出列,他的下一個(gè)再?gòu)囊婚_(kāi)始報(bào),然再一個(gè)報(bào)道n的人出列,本程序結(jié)果為人員出列順序,
#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);
}
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- C++ 約瑟夫環(huán)的實(shí)例代碼
- C++ 中循環(huán)鏈表和約瑟夫環(huán)
- C++ 中約瑟夫環(huán)替換計(jì)數(shù)器m(數(shù)組解決)
- C++循環(huán)鏈表之約瑟夫環(huán)的實(shí)現(xiàn)方法
- Josephus環(huán)的四種解法(約瑟夫環(huán))基于java詳解
- C語(yǔ)言基于循環(huán)鏈表解決約瑟夫環(huán)問(wèn)題的方法示例
- Java簡(jiǎn)單實(shí)現(xiàn)約瑟夫環(huán)算法示例
- C語(yǔ)言約瑟夫環(huán)的實(shí)現(xiàn)
- 詳解基于C++實(shí)現(xiàn)約瑟夫環(huán)問(wèn)題的三種解法
相關(guān)文章
關(guān)于C++友元函數(shù)的實(shí)現(xiàn)講解
今天小編就為大家分享一篇關(guān)于關(guān)于C++友元函數(shù)的實(shí)現(xiàn)講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12
詳解c/c++鏈?zhǔn)蕉褩C枋鲞M(jìn)制轉(zhuǎn)換問(wèn)題示例
這篇文章主要為大家介紹了c/c++鏈?zhǔn)蕉褩C枋鲞M(jìn)制轉(zhuǎn)換問(wèn)題示例解析有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11

