circlistiterator.h
来自「数据结构答案 金元平」· C头文件 代码 · 共 66 行
H
66 行
// CircListIterator.h: interface for the CircListIterator class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_CIRCLISTITERATOR_H__1E7F2B76_0A6C_411B_937F_AAC817E16B45__INCLUDED_)
#define AFX_CIRCLISTITERATOR_H__1E7F2B76_0A6C_411B_937F_AAC817E16B45__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
template <class T>
class CircListIterator
{
public:
CircListIterator(const CircList<T>& cl);
virtual ~CircListIterator();
bool notEnd();
bool nextNotEnd();
T* first();
T* next();
private:
const CircList<T>& list;
ListNode<T>* current;
};
template <class T>
CircListIterator<T>::CircListIterator(const CircList<T>& cl)
:list(cl), current(cl.last->link)
{
}
template <class T>
CircListIterator<T>::~CircListIterator()
{
}
template <class T>
bool CircListIterator<T>::notEnd()
{
return current!=list.last;
}
template <class T>
bool CircListIterator<T>::nextNotEnd()
{
return current->link!=list.last;
}
template <class T>
T* CircListIterator<T>::first()
{
current = list.last->link;
return &(current->data);
}
template <class T>
T* CircListIterator<T>::next()
{
current = current->link;
return &(current->data);
}
#endif // !defined(AFX_CIRCLISTITERATOR_H__1E7F2B76_0A6C_411B_937F_AAC817E16B45__INCLUDED_)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?