#include <stdio.h>
#include <stdlib.h>
   3:  
/*链表结点定义*/
struct node {
/*编号*/
/*个人密码*/
struct node *next;
   9: } LNode, *LinkList;
  10:  
  11:  
int e2) {
  13:     LinkList p;
sizeof(LNode));
  15:     p->number = e1;
  16:     p->psw = e2;
  17:  
if(!*list) {
  19:         *list = p;
  20:         p->next = NULL;
  21:     }
else {
  23:         p->next = q->next;
  24:         q->next = p;
  25:     }
  26: }
  27:  
  28:  
  29:  
int n)
  31: {
  32:     LinkList  q = NULL , list = NULL;
int i ,  e2;
);
  35:  
for(i = 0; i < n; i++) {
, &e2);
/*向q指向的结点后面插入新的结点*/
  39:  
/*第一次之生成头结点,q也指向头结点*/
/*q指向下一结点*/
  42:     }
  43:  
/*形成循环链表*/
  45:  
//返回
  47: }
  48:  
  49:  
int m)
  51: {
  52:     LinkList p , q;
int i;
  54:     q = p = *jsp ;
  55:  
/*q指向p的前一个结点*/
  57:  
) ;
  59:  
while(p->next != p) {
for(i = 0; i < m - 1; i++)
/*p指向要删除的结点,q指向p的前一个结点*/
  63:             q = p;
  64:             p = p->next;
  65:         }
  66:  
  67:         q->next = p->next;
, p->number);
  69:         m = p->psw;
  70:         free(p);
  71:         p = q->next;
  72:     }
  73:  
/*打印出最后留在队中的人的编号*/
  75: }
  76:  
int main()
  78: {
  79:     LinkList jsp;
int n , m;
);
, &n) ;
  83:     CreatJoseph(&jsp, n);
);
, &m) ;
  86:     exJoseph(&jsp, m) ;
  87: }

相关文章: