#include <iostream.h>
#include <stdlib.h>
#define LENGTH 10;
struct node //结点结构
{
int number; /* 人的序号 */
int cipher; /* 密码 */
node *next; /* 指向下一个结点的指针 */
};
void main()
{
int i,a,j=LENGTH;
node *head=new node;
node *p=head;
p->number=0;
p->cipher=rand()%5+2;
for (i=0;i<j;i++)
{
p->next=new node;
p=p->next;
p->number=i+1;
p->cipher=rand()%5+2;
}
p->next=head;
node *q,*s=head;
a=head->cipher;
while(j)
{
i=1;
q=s->next;
while(i<a&&q->number)
{
i++;
s=s->next;
q=q->next;
}
s->next=q->next;
if(q->number)
{
cout<<q->number<<'\t';
j--;
}
a=q->cipher;
delete q;
}
}