才学两个月的小白,有问题请赐教。
在网上没找到CList源码,就自己尝试写了一个,目前基本实现功能替代(部分)。
头文件代码
CList.h
#pragma once
typedef void* POSITION;
template <class T>
struct CNode
{
T _data;
struct CNode* _prev;
struct CNode* _next;
};
template<class T>
class CClist
{
public:
CClist() :_Head(nullptr), _Tail(nullptr), _num(0)
{}
CClist(T& data);
~CClist()
{}
void AddHead(const T& data);
void AddTail(const T& data);
T& GetAt(POSITION pos);
POSITION& GetHeadPosintion();
void GetNext(POSITION& pos);
void GetPrev(POSITION pos);
void RemoveAt(POSITION pos);
POSITION& GetTailPosintion();
private:
POSITION _Head;
POSITION _Tail;
int _num;
};