数据结构与算法(C#)2.1解决堆栈的编程问题

用一片连续的存储空间来存储栈中的数据元素,这样的栈称为顺序栈。类似顺序表,用一维数组来存放顺序栈中的数据元素。栈顶指示器top设在数组下标为0的端,top随着插入和删除而变化,当栈为空时,top=-1。
public interface IStack
{
int Count { get; }
int GetLength();
bool IsEmpty();
void Push(T item);
T Pop();
T Peek();
}

class SequStack : IStack
{
private T[] data;
private int top;
public SequStack(int size)
{
data = new T[size];
top = -1;
}
public SequStack():this(10)
{

    }
    public int Count
    {
        get {
            return top + 1;
        }
    }

    public int GetLength()
    {
        return Count;
    }

    public bool IsEmpty()
    {
        return Count == 0;
    }

    public T Peek()
    {
        return data[top];
    }

    public T Pop()
    {
        T teamp = data[top];
        top--;
        return teamp;
    }

    public void Push(T item)
    {
        data[top + 1] = item;
        top++;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值