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();
    }
}

 

posted @ 2017-12-25 09:25  养鼠的猫  阅读(186)  评论(0编辑  收藏  举报