#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); }
视频教程列表
文章教程搜索
C语言程序设计推荐教程
C语言程序设计热门教程
|