约瑟夫问题简单实现-循环链表
来源:互联网 发布:快递员端抢件软件 编辑:程序博客网 时间:2024/05/22 02:08
#include<stdio.h>
#include<stdlib.h>
typedef struct node
{
int data;
struct node * next;
}node;
node * create(int n)
{
node *p=NULL,*head;
head=(node*)malloc(sizeof(node));
p=head;
node * s;
int i=1;
if(0!=n)
{
while(i<=n)
{
s=(node*)malloc(sizeof(node));
s->data=i++;
p->next=s;
p=s;
}
s->next=head->next;
}
free(head);
return s->next;
}
int main()
{
int n=41;
int m=3;
node *p=create(n);
node *temp;
m%=n;
while(p!=p->next)
{
for(int i=1;i<m-1;i++)
{
p=p->next;
}
printf("%d->",p->next->data);
temp=p->next;
p->next=temp->next;
free(temp);
p=p->next;
}
printf("%d\n",p->data);
free(p);
return 0;
}
#include<stdlib.h>
typedef struct node
{
int data;
struct node * next;
}node;
node * create(int n)
{
node *p=NULL,*head;
head=(node*)malloc(sizeof(node));
p=head;
node * s;
int i=1;
if(0!=n)
{
while(i<=n)
{
s=(node*)malloc(sizeof(node));
s->data=i++;
p->next=s;
p=s;
}
s->next=head->next;
}
free(head);
return s->next;
}
int main()
{
int n=41;
int m=3;
node *p=create(n);
node *temp;
m%=n;
while(p!=p->next)
{
for(int i=1;i<m-1;i++)
{
p=p->next;
}
printf("%d->",p->next->data);
temp=p->next;
p->next=temp->next;
free(temp);
p=p->next;
}
printf("%d\n",p->data);
free(p);
return 0;
}
- 约瑟夫问题简单实现-循环链表
- 单向循环链表实现约瑟夫问题
- 用循环链表实现约瑟夫问题
- C++循环链表实现约瑟夫问题
- 约瑟夫问题--循环链表实现
- 循环链表 约瑟夫环问题实现
- 约瑟夫环问题循环链表实现
- 约瑟夫问题循环链表实现
- 约瑟夫问题(循环链表实现)
- 循环链表实现约瑟夫问题
- 约瑟夫问题循环链表实现
- 循环链表实现约瑟夫问题
- 循环链表实现约瑟夫问题
- 循环链表实现约瑟夫问题
- 循环链表实现约瑟夫问题
- 华为面试题——约瑟夫问题的C++简单实现(循环链表)
- 面试题之约瑟夫问题-----循环链表简单详述
- 面试题之约瑟夫问题-----循环链表简单详述
- log4j按级别输出log文件
- struts2标签 s:param 传递数组参数
- BOF或EOF中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
- Castle ActiveRecord的distinct过滤重复数据
- vc++字体类CFont详解及用法实例《转》
- 约瑟夫问题简单实现-循环链表
- c语言指针
- JDK1.5新特性之泛型
- 有效测试=需求明确+深入掌握被测程序和测试工具--应用安全测试:双面的黑盒
- java.net.SocketTimeoutException: Read timed out
- 【xinfanqie】WinPE装到硬盘上只需两步
- JsUnit 简介
- [图像增强]二. 直方图均衡化
- cadence Resolve lock file and re-run netrev 解决