队列和栈
2015-07-10 21:36
344 查看
队列 :先进先出,元素将在队列的尾部插入(入队,或者Enqueue),并从队列的头部移除(出对,或者Dequeue)。
栈:后进先出,元素在顶部入栈(push),也从顶部出栈(pop)。
eg:
Queue
using System;
using System.Collections;
...
Queue numbers = new Queue();
...
//填充队列
foreach (int number in new int[4]{4,5,6,7})
{
numbers.Enqueue(number );
Console.WriteLine(number + " has joined the queue");
}
...
//遍历队列
foreach (int number in numbers)
{
Console.WriteLine(number);
}
......
//清空队列
while (numbers.Count >0)
{
int number = (int )numbers.Dequeue();
Console.WriteLine(number + " has left the queue");
}
代码输出如下
3 has left the queue
4 has left the queue
5 has left the queue
6 has left the queue
3
4
5
6
3 has left the queue
4 has left the queue
5 has left the queue
6 has left the queue
Stack //栈
using System;
using System.Collections;
...
Stack numbers = new Stack();
...
//填充栈 - 入栈
foreach (int number in new int[4]{4,5,6,7})
{
numbers.Push(number );
Console.WriteLine(number + " has been pushed on the stack");
}
...
//遍历栈
foreach (int number in numbers)
{
Console.WriteLine(number);
}
......
//清空栈 - 出栈
while (numbers.Count >0)
{
int number = (int )numbers.Pop();
Console.WriteLine(number + " has been popped off the stack");
}
代码输出如下
3 has been pushed on the stack
4 has been pushed on the stack
5 has been pushed on the stack
6 has been pushed on the stack
6
5
4
3
6 has been popped off the stack
5 has been popped off the stack
4 has been popped off the stack
3 has been popped off the stack
栈:后进先出,元素在顶部入栈(push),也从顶部出栈(pop)。
eg:
Queue
using System;
using System.Collections;
...
Queue numbers = new Queue();
...
//填充队列
foreach (int number in new int[4]{4,5,6,7})
{
numbers.Enqueue(number );
Console.WriteLine(number + " has joined the queue");
}
...
//遍历队列
foreach (int number in numbers)
{
Console.WriteLine(number);
}
......
//清空队列
while (numbers.Count >0)
{
int number = (int )numbers.Dequeue();
Console.WriteLine(number + " has left the queue");
}
代码输出如下
3 has left the queue
4 has left the queue
5 has left the queue
6 has left the queue
3
4
5
6
3 has left the queue
4 has left the queue
5 has left the queue
6 has left the queue
Stack //栈
using System;
using System.Collections;
...
Stack numbers = new Stack();
...
//填充栈 - 入栈
foreach (int number in new int[4]{4,5,6,7})
{
numbers.Push(number );
Console.WriteLine(number + " has been pushed on the stack");
}
...
//遍历栈
foreach (int number in numbers)
{
Console.WriteLine(number);
}
......
//清空栈 - 出栈
while (numbers.Count >0)
{
int number = (int )numbers.Pop();
Console.WriteLine(number + " has been popped off the stack");
}
代码输出如下
3 has been pushed on the stack
4 has been pushed on the stack
5 has been pushed on the stack
6 has been pushed on the stack
6
5
4
3
6 has been popped off the stack
5 has been popped off the stack
4 has been popped off the stack
3 has been popped off the stack
相关文章推荐
- jQuery.form Ajax无刷新上传错误 (jQuery.handleError is not a function) 解决方案
- 最小生成树之Prim算法
- 超级权限容器
- C++运算符重载(友元函数方式)
- LeetCode 之 Palindrome Linked List — C 4000 ++ 实现
- nginx 相关教程
- 设计模式读书笔记:Strategy(策略)
- 这些注释太可爱啦!我也要加到我的项目中去!
- 最少步数(bfs)
- 使用迅雷下载百度网盘大文件
- 重新制定了目标 这样才知道为啥活着 重新起航 星辰大海
- 线段树
- ubuntu14.04下安装pycharm以及Oracle JDK
- 第2章 字符和字符串处理(2)
- Intent中的四个重要属性——及部分对应值
- hadoop学习(10)----map端的执行过程
- 【poi1999】【cogs239】【积水】【堆】【灌水法】【贪心】
- DOM 操作技术之动态脚本
- Unity学习笔记 之 关于 Unity UI 的 Slider 的代码记录
- Hadoop 之 WritableComparable 接口