赞
踩
//双向链表(迭代器)
#include<iostream>
#include<cassert>
using namespace std;
//链表结点
template<class T>
struct _ListNode
{
_ListNode* _prev;
_ListNode* _next;
/*void* _prev;
void* _next;*/
T _data;
_ListNode(){}
_ListNode(const T& x)
:_data( x)
,_prev (0)
,_next(0)
{}
};
//链表的迭代器
template<class T, class Ref, class Ptr>
class _ListIerator
{
public:
typedef _ListIerator < T, T&, T *> Iterator;
typedef _ListIerator <T, const T&, const T*> ConstIterator; //const 迭代器
typedef _ListIerator<T , Ref, Ptr> Sef ;
typedef _ListNode <T>* LinkType;
//三个构造函数
_ListIerator() {}
_ListIerator(LinkType node):_node( node){}
_ListIerator(const Iterator& x):_node(x ._node ){}
//运算符的重载
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。