基本顺序类表

#include <iostream.h>
#include <stdlib.h>

const int MaxListSize=50;

class SeqList
{
private:
DataType listitem[MaxListSize];
int size;
public:
SeqList(void);

int ListSize(void) const;
int ListEmpty(void) const;
int Find(DataType& item) const;
DataType GetData(int pos) const;

void Insert(const DataType& item);
void Delete(const DataType& item);
DataType DeleteFront(void);
void ClearList(void);
}


}

SeqList::SeqList(void):size(0)
{}

void SeqList::Insert(const DataType& item)
{
if(size+1>MaxListSize)
{
cerr<<"Maximum list size exceeded"<<endl;
exit(1);
}
listitem[size]=item;
size++;
}

void SeqList::Delete(const DataType& item)
{
int i=0;

while(i<size && !(item==listitem[i]))
{
i++;
}

if(i<size)
{
while(i<size-1)
{
listitem[i]=listitem[i+1];
i++;
}
}
size--;
}

DataType SeqList::GetData(int pos) const
{
if(pos<0||pos>=size)
{
cerr<<"pos is out of range!"<<endl;
exit(1);
}
return listitem[pos];
}

int SeqList::Find(DataType& item) const
{
int i=0;
if(ListEmpty())
return 0;

while(i<size&&!(item==listitem[i]))
i++;

if(i<size)
{
item=listitem[i];
return 1;
}
else
return 0;
}

posted on 2006-05-20 22:06  咨询之路  阅读(161)  评论(0)    收藏  举报