队列和栈

原创 2015年07月10日 21:36:43

队列  :先进先出,元素将在队列的尾部插入(入队,或者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




java 队列和栈

栈和队列是两种特殊的线性表,它们的逻辑结构和线性表相同,只是其运算规则较线性表有更多的限制,故又称它们为运算受限的线性表。 LinkedList数据结构是一种双向的链式结构,每一个对象除了数据本...
  • e421083458
  • e421083458
  • 2013年10月23日 09:43
  • 1723

队列和栈的区别

队列(Queue):是限定只能在表的一端进行插入和在另一端进行删除操作的线性表; 栈(Stack):是限定只能在表的一端进行插入和删除操作的线性表。 区别如下: 一、规则不同        1...
  • shenjichao2008
  • shenjichao2008
  • 2014年02月26日 15:54
  • 2717

python中的队列和栈

在一个basicds模块里用实现了两个类:Stack和Queue及其各自所支持的操作。 队列是以排队的形式先进先出的序列集,栈是后进先出的序列集。 以下是模块basicds模块源码: basic...
  • u010700415
  • u010700415
  • 2014年03月12日 15:19
  • 1010

线性结构(队列和栈)

队列和栈都是线性结构,分配连续内存。只不过: 队列是先进先出,栈是先进后出。 队列有头有尾,从尾部进入,从头部出来;而栈只有栈顶,入栈需要先压入数据再栈顶上移动一位,出栈是先栈顶下移动一位再弹出数据。...
  • u010957494
  • u010957494
  • 2015年08月19日 16:39
  • 292

浅谈队列及栈的用法

浅谈队列及栈的用法STL中的queue以及stack是两个十分好用的数据结构,也是最简单的数据结构。在这里简单的介绍一下它们的用法。队列 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(f...
  • Z_Mendez
  • Z_Mendez
  • 2015年07月23日 15:43
  • 562

数据结构===》栈和队列(复习心得)

1.1 栈的定义 栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行。如下所示: 结论:后进先出(Last In First Out),简称为LIFO...
  • liuwenhao1996
  • liuwenhao1996
  • 2016年11月26日 17:31
  • 464

队列和栈

//队列:先进先出             Queue q = new Queue();             //q.Enqueue();//入队             //q.Deque...
  • u012174426
  • u012174426
  • 2013年10月24日 22:29
  • 365

背包、队列和栈

背包(Bag)、队列(Queue)、下压栈(Stuck)是基础数据类型集合的三种类型,他们的区别在于删除或者访问对象的顺序不同。 背包 背包是一种不支持从中删除元素的集合数据类型,它的作用...
  • qq_25412055
  • qq_25412055
  • 2016年11月20日 21:30
  • 478

java中队列和栈的使用

package com.ipmotor.sm.db; import java.util.LinkedList; import java.util.Queue; import java.uti...
  • layman1024
  • layman1024
  • 2017年07月25日 11:08
  • 195

队列和栈的使用

都这个点,虽然很想回去,还是坚持下来写写总结,不然之前的努力就都白费了。 1、栈 加上“stack”的头文件,常用的函数有: stackp;  p.top();p.size();p.empty...
  • wangjieyunxia
  • wangjieyunxia
  • 2016年05月25日 01:17
  • 137
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:队列和栈
举报原因:
原因补充:

(最多只允许输入30个字)