链表(四)实现双向循环链表简单操作,代码如下:
#include <iostream>
#include <stdlib.h>
using namespace std;
//结点类
class Node {
public:
int data;
Node *pPre, *pNext;
};
//双向循环链表类
class DoubleCircularLinkList {
public:
DoubleCircularLinkList() {
head = new Node;
head->data = 0;
head->pNext = head;
head->pPre = head;
}
~DoubleCircularLinkList() {delete head;}
void CreateLinkList(int n);
void InsertNode(int position, int d);
void TraverseLinkList();
bool IsEmpty();
int GetLength();
void DeleteNode(int posiiton);
void DeleteLinkList();
private:
Node *head;
};
void DoubleCircularLinkList::CreateLinkList(int n) {
if (n < 0) {
cout << "输入结点个数错误!" << endl;
exit(EXIT_FAILURE);
}
else {
int i = 0;
Node *pnew, *ptemp;
ptemp = head;
i = n;
while (n-- >