zoukankan      html  css  js  c++  java
  • 栈与队列

    简介

    这两个都是最基础最简单的数据结构。

    数据用一个数组来存储,再用一个变量来跟踪栈顶就足够了。

    栈的特点是后进先出,主要的方法就两个,Push压入栈,Pop弹出。

    class DSStack<T>
        {
            private T[] _ds;
            private int _top;
    
            public DSStack(int length)
            {
                _top = -1;
                _ds = new T[length];
            }
    
            public bool Push(T data)
            {
                if (_top == _ds.Length - 1) return false;
                _top++;
                _ds[_top] = data;
                return true;
            }
    
            public bool Pop(out T data)
            {
                if (_top == 0)
                {
                    data = default(T);
                    return false;
                }
                data = _ds[_top];
                _top--;
                return true;
            }
        }

    队列

    队列也是用一个数组来存储,不同的是需要用两个变量分别来跟踪队首和队尾。

    队列的特点是先进先出,主要的方法有,EnQueue入队,DeQueue出队。

    class DSQueue<T>
    {
        private T[] _ds;
        private int _head;
        private int _tail;
    
        public DSQueue(int length)
        {
            _head = 0;
            _tail = 0;
            _ds = new T[length];
        }
    
        public bool EnQueue(T data)
        {
            if (_head == _tail + 1) return false;
            _ds[_tail] = data;
            _tail++;
            if (_tail > _ds.Length - 1) _tail -= _ds.Length - 1;
            return true;
        }
    
        public bool DeQueue(out T data)
        {
            if (_head == _tail)
            {
                data = default(T);
                return false;
            }
            data = _ds[_head];
            _head++;
            if (_head > _ds.Length - 1) _head -= _ds.Length - 1;
            return true;
        }
    }
  • 相关阅读:
    启动WCF多个服务方法
    获取本机内存使用信息、DataTable占用内存空间
    分享到微博代码
    EXCEL拼接SQL
    动态调用webservice及WCF服务
    整洁架构
    端口与适配器架构
    清晰架构
    EBI架构 VS. MVC
    查看Oracle加锁情况及解锁方法
  • 原文地址:https://www.cnblogs.com/zhang740/p/3785668.html
Copyright © 2011-2022 走看看