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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值