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
相关文章读者评论
发表评论 |