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();
        }
    }
  • 相关阅读:
    hdu 2044 一只小蜜蜂
    HDU 2041 超级楼梯
    卡特兰数
    hdu 1267 下沙的沙子有几粒?(二维递推题)
    大数加法、乘法
    学习时仪式感太强是不是不太好
    php记日志
    cygwin安装apt-cyg
    存储过程死循环之后的清理
    linux的计划任务crontab
  • 原文地址:https://www.cnblogs.com/AlinaL/p/12852173.html
Copyright © 2011-2022 走看看