专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »C语言教程 » joseph:JOSEPH环 »正文

joseph:JOSEPH环

来源: 发布时间:星期四, 2008年9月25日 浏览:10次 评论:0
#include<stdio.h>
typedef struct Node
{
int number;
int cipher;
struct Node *next;
}node,*hu;
hu H;//定义头结点为H;
init(int n)
{
int i;
int cipher;
hu L;
if(n>=1)
{
scanf(\"%d\",&cipher);
H=(hu)malloc(sizeof(node));//生成头结点;
H->number=1;
H->cipher=cipher;
H->next=H;
for(i=1;i<n;i++)
{
scanf(\"%d\",&cipher);
L=(hu)malloc(sizeof(node));//生成副结点;
L->number=i+1;
L->cipher=cipher;
L->next=H->next;
H->next=L;
H=L;
}
H=H->next;//循环单链表的生成;
}
else
printf(\"The N\'s value that you inputted is invalid!\");
}
Joseph(int m,hu h)//进行程序的循环,使顺序出列;
{
int i;
hu l;
l==h;
i=1;
while(i!=m)
{
i=i+1;
l=h;
h=h->next;
}
printf(\"%3d\",h->number);
m=h->cipher;
l->next=h->next;
free(h);
h=l->next;
if(h!=l)
Joseph(m,h);
else
{
printf(\"%3d\",h->number);
free(h);
}
}
main()
{
int m;
int n;
int i;
clrscr();
printf(\"Please input the starting value of M ( the upper limit worth of M ) : \");
scanf(\"%d\",&m);
printf(\"Please input the man\'s figure who have a hand in: \");
scanf(\"%d\",&n);
printf(\"Please input the cipher from number1 to number%d:\",n);
init(n);
printf(\"The order of Dequeue is :\");
Joseph(m,H);
}

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: