ring.cpp.txt
来自「Josephus 问题描述 数据结构为链表的插入与查询」· 文本 代码 · 共 65 行
TXT
65 行
//***********************************
//**** ring.cpp **
//***********************************
#include <iostream.h>
#include <iomanip.h>
#include "ring.h"
Ring::Ring(int n)
{
pBegin=new Boy[n];
pCurrent=pBegin;
for(int i=1;i<=n;i++,pCurrent=pCurrent->next)
{
pCurrent->next=pBegin+i%n;
pCurrent->code=i;
PutBoy();
} //到这里已经连成了一条线,但是尾巴指向了未知区域
cout<<endl;
pCurrent=&pBegin[n-1]; // 尾巴咬上了头了
}
Displpay();
void Ring::Count (int m)
{
for (int i=0;i<m;i++)
{
pivot=pCurrent;
pCurrent=pivot->next;
}
}
void Ring::PutBoy()
{
static int numInLine ;
if( numInLine++ %10==0)
cout <<endl;
cout<<setw(4)<<pCurrent->code<<" ";
}
void Ring::ClearBoy()
{
pivot->next =pCurrent->next;
pCurrent=pivot;
}
void Ring::Display()
{
Boy*pB=pCurrent;
do
{PutBoy();
pCurrent=pCurrent->next;
}while(pB!=pCurrent);
cout<<endl;
}
Ring::~Ring()
{
delete []pBegin;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?