#include <stdio.h>
#include <stdlib.h>
/* 定义链表节点类型 */
typedef struct node {
int data;
struct node *next;
}linklist;
int main() {
int i,j;
linklist *head,*s, *p,*q;
/* 创建循环链表,头节点也存信息 */
head = (linklist*) malloc(sizeof(linklist));
p = head;
p->data = 1;
p->next = p;
/* 初始化循环链表 */
for (i = 2; i <= 30; i++)
{
s = (linklist*) malloc(sizeof(linklist));
s->data = i;
s->next = p->next;
p->next = s;
p = p->next;
}
p = head;
printf("即将被抛下海的人的编码是:");
for( i = 0; i < 15; i++) {
for( j = 0; j < 8; j++) {
p = p->next;
}
q = p->next;
p->next = q->next;
printf("%5d",q->data);
p = p->next;
}
free(p);
free(q);
//system("pause");
return 0;
}
#include <stdlib.h>
/* 定义链表节点类型 */
typedef struct node {
int data;
struct node *next;
}linklist;
int main() {
int i,j;
linklist *head,*s, *p,*q;
/* 创建循环链表,头节点也存信息 */
head = (linklist*) malloc(sizeof(linklist));
p = head;
p->data = 1;
p->next = p;
/* 初始化循环链表 */
for (i = 2; i <= 30; i++)
{
s = (linklist*) malloc(sizeof(linklist));
s->data = i;
s->next = p->next;
p->next = s;
p = p->next;
}
p = head;
printf("即将被抛下海的人的编码是:");
for( i = 0; i < 15; i++) {
for( j = 0; j < 8; j++) {
p = p->next;
}
q = p->next;
p->next = q->next;
printf("%5d",q->data);
p = p->next;
}
free(p);
free(q);
//system("pause");
return 0;
}