线性表的接口如下所示。
public interface IListDS<T> {
int GetLength(); //求长度
void Clear(); //清空操作
bool IsEmpty(); //判断线性表是否为空
void Append(T item); //附加操作
void Insert(T item, int i); //插入操作
T Delete(int i); //删除操作
T GetElem(int i); //取表元
int Locate(T value); //按值查找
}上面是一本c#算法书的语句,我有几个看不明白,<T>是指C#泛型,可以是int,string等类型,但下面的void Append(T item); T Delete(int i)特别是这个,我看不明这个T是什么意思? 知道的朋友指示一下小弟,谢谢!!
public interface IListDS<T> {
int GetLength(); //求长度
void Clear(); //清空操作
bool IsEmpty(); //判断线性表是否为空
void Append(T item); //附加操作
void Insert(T item, int i); //插入操作
T Delete(int i); //删除操作
T GetElem(int i); //取表元
int Locate(T value); //按值查找
}上面是一本c#算法书的语句,我有几个看不明白,<T>是指C#泛型,可以是int,string等类型,但下面的void Append(T item); T Delete(int i)特别是这个,我看不明这个T是什么意思? 知道的朋友指示一下小弟,谢谢!!
T item,就是T类型的item
T Delete(int i),返回值为T类型的值
void Append(T item);
是说这个方法Append你要实现它
实现的时候Append方法的参数的类型就是你这个线性表内元素的类型,可以是int、string、object等等
比如我们以IList<T>为例,它的一个实现List<T>: List<MyClass> lst = new List<MyClass>;
MyClass myObject = new MyClass();
lst.Add(myObject);所以你在Add的时候参数的类型必须是你集合类的元素的类型。T Delete(int i)
同样是你要实现的一个方法
方法的参数是一个int型的索引值
表示你要集合中的第i个元素删除
为了知道要删除的是哪一个
同时将刚才删除的那一个(这个元素因为也在集合中,所以类型肯定也是T)
并将其return