这标题是不是太长了,这次介绍的数据结构是栈,栈和队列还有线性表这三种数据结构的数据元素以及他们数据元素之间的逻辑关系是完全相同的,都是一对一的线性关系,区别在于,线性表的操作不受限制,而栈和队列的操作收到限制。
这里先说栈:栈的操作只能在表尾一端进行,表尾为称为栈顶(Top),而另一端是固定的称为栈顶(Bottom)。当栈里没有元素的时候叫做是空栈,栈是线性表的一种形式,也是通过数组来实现的,我们把只能在表的尾端进行操作的线性表叫做栈。
因为栈只有一端可以操作,所以栈有在处理数据时有两个特点:后进先出(Last In First Out)和先进后出(First In Last Out)。并且C#也提供了泛型的Stack类,这是封装好的栈。
并且栈也有两种顺序栈和链栈,顺序栈和顺序表类似,今天要实现的是顺序栈
接下来就自己来定义并实现一个顺序栈
第一步、定义接口
这里只写了一些重要方法的接口,
/// <summary>
/// 栈的接口 栈的实现方式也分两种,顺序栈和链栈
/// </summary>
/// <typeparam name="T"></typeparam>
interface IStackDs<T>
{
int Count { get; }
int GetLength();
bool IsEnpty(