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();
        }
    }
  • 相关阅读:
    js正则表达语法
    Codeforces 976E/925C (01Trie树)
    ZOJ 3879(大模拟)
    CF967C(二分+细节)
    CF967A(细节模拟)
    HDU 2222(AC自动机模板)
    HDU 5510(KMP+思维)
    HDU 6273(树状数组+思维)
    HDU 6266(思维+规律)
    HDU 6264(思维)
  • 原文地址:https://www.cnblogs.com/AlinaL/p/12852173.html
Copyright © 2011-2022 走看看