zoukankan      html  css  js  c++  java
  • C#学习笔记之——堆栈,队列和两个栈实现一个队列的算法

    栈是一个内存数组,是一个LIFO的数据结构。数据只能从栈顶插入和删除。堆是一块内存区域,在队里可以分配大块内存用于存储某类型的数据对象。

    Stack(堆栈)

    Push()

    将对象插 Stack的顶部.( 入栈操作)

    Pop()

    移除并返回Stack顶部的对象.(出栈操作)

    Peek()

    返回位于stack顶部的对象,但 移除.

    Contains()

    确定某元素是否在栈中

    Clear()

    从statck中移除所有对象

    Count

    获取栈中包含的元素

    Queue(队列)

       

    Enqueue()

    将对象添加到Queue的结尾处, 队.

    Dequeue()

    移除并返回位于Queue开始处的对象

    Peek()

    返回位于Queue开始处的对象但 将其移除

    Contains()

    确定某元素是否在Queue中

    Clear()

    从Queue中移除所有对象

    Count

    获取Queue中包含的元素数


    2019年6月7日分割线用一下,还是写个应用好点,比如两个栈实现队列的操作:

    using System.Collections.Generic;
     
    class Solution
    {
        Stack<int> pushStack=new Stack<int>();//进
        Stack<int> popStack=new Stack<int>();//出
         
        public void push(int node)
        {
            while(popStack.Count>0){
                pushStack.Push(popStack.Pop());
            }
            pushStack.Push(node);
        }
         
        public int pop()
        {
            while(pushStack.Count>0){
                popStack.Push(pushStack.Pop());
            }
            return popStack.Pop();
        }
    }
  • 相关阅读:
    随笔
    json对象的默认排序问题
    SQl死锁随想
    疑惑
    .netportal
    WCF中出现方法出现无法匹配的异常
    自动播放图片,可以调整速度。
    一个二级树形菜单,初始显示为全部展开,适用于分类较少的情况。
    整理了一下以后需要用的软件
    缩略图,大图,同页显示
  • 原文地址:https://www.cnblogs.com/AlinaL/p/12852173.html
Copyright © 2011-2022 走看看