1 有序线性表
有序线性表是最基本的可搜索容器,其提供除了可搜索容器的操作,还有自己的一些基本操作。那么什么是可搜索容器呢,可搜索容器定义如下:
class SearchableContainer : public virtual Container
{
public:
virtual bool IsMember (Object const&) const = 0;
virtual void Insert (Object&) = 0;
virtual void Withdraw (Object&) = 0;
virtual Object& Find (Object const&) const = 0;
};
也就是说,具有IsMember(判断是否含有某对象)、Insert(插入某对象)、Withdraw(删除某对象)和Find(查找某对象)这四个基本操作的抽象容器就是可搜索容器。
那么什么是有序线性表呢?定义如下:
class Position : public Iterator
{
};
class List : public virtual SearchableContainer
{
public:
virtual Object& operator [] (unsigned int) const = 0;
virtual Object& operator [] (Position const&) const = 0;
virtual Position& FindPosition (Object const&) const = 0;
virtual void Withdraw (Position const&) = 0;
};
class OrderedList : public virtual List
{
public:
virtual void InsertAfter (Position const&, Object&) = 0;
virtual void InsertBefore (Position const&, Object&) = 0;