约瑟夫环问题 用VC运行后就出问题了 帮改改

来源:百度知道 编辑:UC知道 时间:2024/05/27 04:52:09
#include<iostream>
using namespace std;
struct Node//构建一个自定义类型
{
int data;
Node *next;
};
class LinkList//创建一个类
{
public:
LinkList()
{ first=new Node;first->next=first;}
LinkList(int n);
~LinkList();
int Get(int i);
private:
Node *first;
};
LinkList::LinkList(int n)//构造函数
{
first=new Node;
Node *r=first;
for(int i=0;i<n;i++)
{
Node *s=new Node;
s->data=i+1;
r->next=s;
r=s;
}
r->next=first->next;
}
LinkList::~LinkList()//析构函数
{
Node *p=first;
while(p)
{
Node *q=p;
p=p->next;
delete q;
}
}
LinkList::Get(int m)//按位查找第m个元素
{
Node *pre=first,*p=first->next;
int count=1;
while(p!=pre)
{ while(p&&count<m)
{
pre=p;p=p->next;count++;
}
cout<<p->data<&l

#include<iostream>
using namespace std;
struct Node//构建一个自定义类型
{
int data;
Node *next;
};

class LinkList//创建一个类
{
public:

LinkList(int n);
~LinkList();
int Get(int i);
private:
Node *first;
};
LinkList::LinkList(int n)//构造函数
{
Node * r = NULL,*s = NULL;
first = NULL ;
for(int i= 0;i<n;i++)
{
Node *s=new Node;
s->data=i+1;
if( 0 == i )
first = s ;
else
r->next=s;
r=s;
}
if(NULL != r )
r->next=first;
}

LinkList::~LinkList()//析构函数
{
Node *p=first;
while(p)
{
Node *q=p->next;
if( p == first)
{
delete p ;
break;
}
p = q ;

}
}
LinkList::Get(int m)//按位查找第m个元素
{
for( Node * pre = first ; pre->next != first ; pre = pre->next);
Node *