📄 circle.cpp
字号:
#include <iostream.h>
#include "Circle.h"
Circle::Circle(int n)
{
Node *tmp;
Node *p;
p = new Node;
p->data = 1;
Node *first = p;
for (int i = 2; i <= n; i++)
{
tmp = new Node;
tmp->data = i;
p->next = tmp;
p = p->next;
}
rear = p;
p->next = first;
currentPointer = rear->next;
}
Circle::~Circle()
{
Node *p = rear->next;
Node *tmp;
rear->next = NULL;
while (p)
{
tmp = p;
p = p->next;
delete tmp;
}
}
int Circle::Delete(int value)
{
Node *p = rear;
Node *tmp;
while (p->next->data != value)
p = p->next;
if (p->next == rear)
rear = p;
if (currentPointer == p->next)
currentPointer = currentPointer->next;
tmp = p->next;
int x = tmp->data;
p->next = tmp->next;
delete tmp;
return x;
}
void Circle::PrintCircle() const
{
Node *p = rear->next;
while (p != rear)
{
cout << p->data << " ";
p = p->next;
}
cout << p->data;
cout << endl;
}
Node Circle::GetCurrentNode() const
{
return *currentPointer;
}
void Circle::MoveNext()
{
currentPointer = currentPointer->next;
}
bool Circle::IsOnlyOneElement() const
{
if (rear == rear->next)
return true;
return false;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -