栈是一个内存数组,是一个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();
}
}
本文详细介绍了栈和队列这两种基本的数据结构。栈是一种LIFO(后进先出)的数据结构,只允许在一端进行插入和删除操作;队列则是一种FIFO(先进先出)的数据结构,允许在一端进行插入操作,在另一端进行删除操作。文章还提供了一个使用两个栈来实现队列的示例代码。

301

被折叠的 条评论
为什么被折叠?



