number=1; H->cip" />
龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

JOSEPH环

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
#include 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", H=(hu)malloc(sizeof(node));//生成头结点; H->number=1; H->cip

  #include

  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

   {

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

  }

  

精彩图集

赞助商链接