约瑟夫环-单向循环链表
2007-06-09 09:28
323 查看
#include<iostream.h>
struct Node
{
int data;
struct Node *next;
};
int main()
{
int m,n;
cout<<"请输入m的值";
cin>>m;
cout<<"请输入n的值";
cin>>n;
Node *first,*last;
first=last=new Node;//生成第一个结点
first->data=1;
for(int i=2;i<n+1;i++)
{
Node *p=new Node;
p->data=i;
last->next=p;last=p;//链接结点
}
last->next=first;
int number=n;
Node *pre=last;
while(number>1)
{
for(int j=1;j<m;j++)
pre=pre->next;
Node *p=pre->next;
pre->next=p->next;
cout<<p->data<<" ";
delete p;
number--;
}
cout<<pre->data<<" ";
delete pre;
}本文出自 “梦里依稀” 博客,请务必保留此出处http://maple.blog.51cto.com/180963/29410
struct Node
{
int data;
struct Node *next;
};
int main()
{
int m,n;
cout<<"请输入m的值";
cin>>m;
cout<<"请输入n的值";
cin>>n;
Node *first,*last;
first=last=new Node;//生成第一个结点
first->data=1;
for(int i=2;i<n+1;i++)
{
Node *p=new Node;
p->data=i;
last->next=p;last=p;//链接结点
}
last->next=first;
int number=n;
Node *pre=last;
while(number>1)
{
for(int j=1;j<m;j++)
pre=pre->next;
Node *p=pre->next;
pre->next=p->next;
cout<<p->data<<" ";
delete p;
number--;
}
cout<<pre->data<<" ";
delete pre;
}本文出自 “梦里依稀” 博客,请务必保留此出处http://maple.blog.51cto.com/180963/29410
相关文章推荐
- 单向循环链表的实现以及约瑟夫环的实现
- 用单向循环链表解决约瑟夫环(Joseph)问题
- 约瑟夫环---单向循环链表
- [转]用单向循环链表解决约瑟夫环问题
- 约瑟夫环(用单向循环链表解决)
- 单向循环链表--约瑟夫环
- java单向循环链表实现约瑟夫环
- 用单向循环链表实现约瑟夫环
- 用单向循环链表存储结构模拟约瑟夫环(C++)
- 数据结构:循环单向链表——约瑟夫环
- 单向循环链表求解约瑟夫环
- 单向循环链表实现约瑟夫环
- (C语言版)链表(二)——实现单向循环链表创建、插入、删除、释放内存等简单操作
- 单向循环链表
- 单向循环链表的实现C++封装
- 链表(单向、双向、单向循环、双向循环)学习过程总结——有源代码、注释和示意图
- 数据结构_线性表_链式存储_单向循环链表的基本操作
- c语言实现--单向循环链表操作
- 寻找单向循环链表的环的开始结点
- 使用单向循环链表实现约瑟夫问题