#include <iostream>
using namespace std;
#define ERROR 0
#define OK 1
class Node
{
public:
int data;
Node* next;
};
class CircleLink
{
public:
CircleLink();
~CircleLink();
int CircleEmpty();//判断链表是否为空
int CircleLength();//求表长
void CircleInsert_end(int n);//尾插法创建单链表
void CirclePrint();//打印单链表
int CircleGetElem(int i);//获取第 i 位置元素
int CircleInsert_Index(int i, int elem);//在指定位置 i 插入元素
Node* CircleElem_Address(int elem);//查找元素elem返回地址
int CircleDelete_Index(int i);//将第i个数据元素删除
private:
Node* head;
};
CircleLink::CircleLink()//初始化
{
head = new Node;
head->data = NULL;
head->next = head;//头指针初始指向自己
}
CircleLink::~CircleLink()
{
Node* p;
while (head->next != head)
{
p = head->next;
head->next = p->next;
delete p;
}
//delete head;
}
int CircleLink::CircleEmpty()
{
if (head->next == head)//循环链表的判断条件
{
cout << "链表为空" << endl;
return true;
}
else
{
co
C++实现单循环链表
最新推荐文章于 2025-04-15 08:00:00 发布