#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;}

评论