C#——实现泛型顺序栈

使用C#进行了泛型栈的实现,内部以List<>作为储存器;

    class CStack<T>
    {
        int p_Index;
        List<T> list;
        //构造方法
        public CStack()
        {
            list = new List<T>();
            p_Index = -1;
        }
        public int Count
        {
            get { return list.Count; }
        }
        //入栈
        public void Push(T item)
        {
            list.Add(item);
            p_Index++;
        }
        //出栈
        public T Pop()
        {
            if (list.Count>0)
            {
                T top;
                top = list[list.Count - 1];
                list.RemoveAt(list.Count - 1);
                p_Index--;
                return top;
            }
            else
            {
                return default(T);
            }          
        }
        //Peek
        public T Top()
        {
            if (list.Count > 0)
            {
                return list[list.Count - 1];
            }
            else
            {
                return default(T);
            }                 
        }
        public void Clear()
        {
            list.Clear();
            p_Index = -1;
        }
    }

猜你喜欢

转载自blog.csdn.net/noEnoughChief/article/details/82626713