cola - c#

4
Cola – C# COLA – C# Estructura de datos Carmen Lina Eliceche Valdivia Cristian Aguilar Miranda 19 de febrero del 2014 ITI 5to AM

Upload: cristian-aguilar

Post on 20-Oct-2015

28 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cola - C#

Estructura de datos Carmen Lina Eliceche Valdivia

Cristian Aguilar Miranda

ITI5to AM

Page 2: Cola - C#

Cola y sus característicasLa cola (Queue), tiene el comportamiento contrario a la pila. Todo nuevo elemento se agrega al principio de la colección y solo se puede extraer el último elemento. Por esta razón, la cola se conoce como una colección FIFO (First Input First Output) ya que el primer elemento que ingresa a la cola es el primer elemento que sale. Para recordar este comportamiento se puede asociar la Queue con la fila que se debe hacer en un banco para realizar una consignación. En ese caso, el cajero atiende en el orden en que llegan las personas a la cola.

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Collections;// necesario para poder declarar un "Queue"namespace ConsoleApplication1{    class Program    {        static void Main(string[] args)        {            Queue cola = new Queue();//instanciar un nuevo objeto Queue(Cola)            cola.Enqueue("Perro");//agrego un elemento a la cola            cola.Enqueue("Gato");            cola.Enqueue("Loro");            cola.Enqueue("Tigre");            cola.Enqueue("León");            cola.Enqueue("Lobo");            cola.Enqueue("Zorro");            cola.Enqueue("Conejo");            for (int i = 0; i < 3; i++)//itera 3 veces para ir retirando elementos de la cola            {                              Console.WriteLine("Elementos totales que se encuentran en la cola: " + cola.Count);//.count cuenta la cantidad de elementos en la cola                Console.WriteLine("");                 Console.WriteLine("Elemento retirado de la cola: " +cola.Dequeue());//.dequeue() retira un elemento de la cola                Console.WriteLine("el próximo elemento que queda en la cola es: " +cola.Peek());//.peek() muestra el próximo elemento de la cola, sin retirarlo                Console.WriteLine("");                Console.WriteLine("");            }                      Console.WriteLine("Elementos totales que se encuentran en la cola: " + cola.Count);                                  Console.ReadKey();        }    }}

Cristian Aguilar Miranda 1

Page 3: Cola - C#

RecursividadPrimero debemos decir que la recursividad no es una estructura de datos, sino que es una técnica de programación que nos permite que un bloque de instrucciones se ejecute n veces. Remplaza en ocasiones a estructuras repetitivas.

Este concepto será de gran utilidad para el capítulo de la estructura de datos tipo árbol.

La recursividad es un concepto difícil de entender en principio, pero luego de analizar diferentes problemas aparecen puntos comunes.

En C# los métodos pueden llamarse a sí mismos. Si dentro de un método existe la llamada a sí mismo decimos que el método es recursivo.

Cuando un método se llama a sí mismo, se asigna espacio en la pila para las nuevas variables locales y parámetros.

Al volver de una llamada recursiva, se recuperan de la pila las variables locales y los parámetros antiguos y la ejecución se reanuda en el punto de la llamada al método.

Método Recursivousing System;using System.Collections.Generic;using System.Linq;using System.Text;

namespace Recursividad1{ public class Recursividad {

void Repetir() { Repetir(); } static void Main(string[] args) { Recursividad re = new Recursividad(); re.Repetir(); } }}

Cristian Aguilar Miranda 2