【数据结构练习】栈与队列(C#练习)

栈和队列是经常听到的数据结构,考试啥的每次都要考一考,是很有意思的结构。

目前还没有在实践中用到,但是日常使用的系统中用到栈和队列的地方很多,至少目前我已经在游戏中自己写过链表类型的数据结构,以后应该也会用到吧。

栈(Stack)是限定仅在表尾进行插入和删除操作的线性表,队列(Queue)是只允许在一端进行插入,在另一端进行删除的线性表。

栈有顺序栈、空间共享栈、链栈,队列有顺序队列、循环队列、链队列。

简单巧妙——这就是我学习数据结构的感想,特别是栈和队列,实现代码非常简单用途却很广泛,非常佩服先人的智慧。

顺序栈

实现代码如下,非常简单。

 public struct SqStack
    {
        int maxsize;
        int[] datas;
        int top;
        public SqStack(int maxsize)
        {
            this.maxsize = maxsize;
            datas = new int[maxsize];
            top = -1;//空栈的栈顶是-1;
        }
        //删除、清空、是否为空、获得栈顶、入出、返回元素个数。
        //删除不会,清空,否为空,栈顶,个数,都是操作top就可以搞定的。。
    
        public void Push(int data)
        {
            if (top == maxsize - 1)
            {
                Console.WriteLine("

你可能感兴趣的:(学习随记,数据结构,C#)