文档库 最新最全的文档下载
当前位置:文档库 › C语言实现约瑟夫问题(简单)

C语言实现约瑟夫问题(简单)

#include"stdio.h"
#include"stdlib.h"
typedef struct Node
{
int data;
struct Node *next;
} LinkNode;
LinkNode *creat(LinkNode *head)
{
LinkNode *tail,*p;
int i;
head=tail=(LinkNode *)malloc(sizeof(LinkNode));
for(i=0;i<13;i++)
{
p=(LinkNode *)malloc(sizeof(LinkNode));
p->data=i+1;
tail->next=p;
tail=p;
}
free(p);
tail->next=head->next;
return head;
}
LinkNode *del(LinkNode *head)
{
int i,j;
LinkNode *temp,*p;
p=head;
for(i=1;i<=13;i++)
{
for(j=1;j<=2;j++) p=p->next;
temp=p->next;
p->next=temp->next;printf("%d\n",temp->data);
free(temp);//printf("最后留下的人:%d\n",p->data);
}

return head;

}
void main()
{

LinkNode *head=NULL;
head=creat(head);
head=del(head);


}

相关文档