正文

约瑟夫环2006-04-03 18:32:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/botao/11901.html

分享到:

#include<stdio.h>#include<stdlib.h>#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFESIBLE -1#define OVERFLOW -2typedef int status;typedef int BOOL;typedef int ElemType;typedef struct Node{ ElemType pasword; int number; struct Node *next;}LNode,*linklist; linklist Initlinklist(void){ linklist p; ElemType psw; p=(linklist)malloc(sizeof(LNode)); if(!p) {  printf("can't init linklist!\n");  exit(0); } printf("please enter the first pasword:\n"); scanf("%d",&psw); p->number=1; p->next=NULL; p->pasword=psw; return p;} void Insertlinklist(linklist p,ElemType a[],int n){ int i; linklist q,h; h=p; for(i=1;i<n+1;i++) {  q=(linklist)malloc(sizeof(LNode));  if(!q)  {   printf("can't malloc room\n");   system("pause");   exit(0);  }  q->next=NULL;  q->number=i;  q->pasword=a[i-1];  h->next=q;  h=q; } h->next=p;} void Dellinklist(linklist p,int m){ linklist q,h; int i; h=p; while(h->next!=h) {  for(i=0;i<m-1;i++)   h=h->next;  q=h->next;  m=q->pasword;  printf("%d,  ",q->pasword);  h->next=q->next;  free(q); } printf("%d\n",h->pasword); free(h);} int main(void){ linklist seqlik; ElemType a[19]; int i,m; seqlik=Initlinklist(); for(i=0;i<19;i++)  a[i]=i+1; Insertlinklist(seqlik,a,19); printf("please enter the m-ths for out queue:\n"); scanf("%d",&m); Dellinklist(seqlik,m);   return 0;}

阅读(3321) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册