试试这个#include<stdio.h>
#include<stdlib.h>
#define N 41
typedef struct LNode
{
int data;
int num;
struct LNode * next;
}LNode, *Node;
Node create(int n)
{
Node p = NULL, head;
Node k;
int i = 1;
head = (Node)malloc(sizeof(LNode));
p = head;
if(n != 0)
{
while(i <= n)
{
k = (Node)malloc(sizeof(LNode));
k->data = i++;
k->num = rand() % 100;
p->next = k;
p = k;
}
k->next = head->next;
free(head);
}
return (k->next);
}
int main()
{
int n = N, m, i;
Node p = create(n), temp;
m = p->num;
while(p != p->next)
{
for(i = 1; i<m; i++)
p = p->next;
printf("%d-->", p->next->data);
m = p->next->num;
temp = p->next;
p->next = temp->next;
free(temp);
p = p->next;
}
printf("%d", p->data);
return 0;
}
|