這幾天需要實現各種數據結構(泛型).主要實現線性表和鏈表。
線性表是由n(n>=0)個相同類型的數據元素構成的有限序列。除第一個元素外,其余元素只有一個直接前驅;除最後一個元素外,其余元素只有一個直接後繼。
順序表是把表中元素一個接一個地放進一快地址連續的空間,因此順序表的實現有數組來完成。
由於這次需要實現多種數據結構,各種數據結構都有相同的方法,比如求長度,清空等。因此定義一個公共接口:
namespace DateStructrues
{
public interface IDS<T>
{
int Count { get;} //求長度
void Clear(); //清空操作
bool IsEmpty{get;} //判斷線性表是否為空
}
}
線性表接口:
namespace DateStructrues.Lists
{
interface IListDS<T> : IDS<T>
{
void Append(T item); //附加操作
void Insert(T item, int index); //插入操作
T Delete(int index); //刪除操作
T GetElement(int index); //取表元
int Locate(T value); //按值查找
}
}