栈及其在.NET FrameWork中的源码分析
1.栈是操作限定在表的尾端进行的线性表,表尾要进行插入,删除等操作。我们把表尾称为栈顶,另一端叫做栈底。栈的操作是按照后进先出(LIFO:Last
In First Out)或是先进后出(FILO)的原则进行的,所以也叫做LIFO表或FILO表。
2.我们将栈的几个常用操作用接口表示如下:
public interface IStack<T>
{
int GetLength();
bool IsEmpty();
void Clear();
void Push(T item);//入栈
T Pop();//出栈
T GetTop()
}
}
3.使用连续空间来存储栈中的元素我们称为顺序栈,我们就实现一个简单的顺序栈,代码如下:
public class SeqStack<T>:IStack<T>
{
private int maxsize;
private T[] data;
private int top;
public T this[int index]
{
get { return data[index];}
set { data[index] = value; }
}
public int Maxsize
{
get { return maxsize; }
set { maxsize = value; }
}
public int Top
{
get { return top; }
set { top = value; }
}
public SeqStack(int size)
{
data = new T[size];
maxsize = size;
top = -1;
}
public int GetLength()
{
return top + 1;
}
public void Clear()
{
top = -1;
}
public bool IsEmpty()
{
补充:软件开发 , C# ,