Anda di halaman 1dari 3

UNIVERSIDAD TECNOLÓGICA EQUINOCCIAL

FACULTAD DE CIENCIAS DE LA INGENIERÍA


INGENIERÍA MECATRONICA
ALUMNO: STEVEN NAVAS TAFUR

MATERIA: TECNOLOGIA DE MATERIALES


FECHA: 22 DE JUNIO DEL 2018
CURSO: 3 B
TEMA: COLECCIONES

Introduccion

La utilización de estructuras de datos dinámicas resulta especialmente interesante en muchas


aplicaciones.

En System.Collections.Generic disponemos de una implementación de las estructuras de datos más


útiles:

*Listas (List, LinkedList)

*Pilas (Stack) y Colas (Queue)

*Tablas de dispersión/hash (Dictionary)

En C# y con el uso de los genéricos no es difícil implementar nuestras propias estructuras (árboles,grafos
etc.)

Marco Teorico

List, Queue y Stack

Implementados internamente con un array, redimensionando éste cuando se insertan nuevos


elementos. El array interno de redimensiona de forma que siempre hayan posiciones libres donde
insertar (diferencia entre las propiedades Capacity y Count).

List <T>

Métodos más comunes: Add, Contains, Insert, Remove, Clear, IndexOf, Max, Min, Sort ...

Se puede acceder con [] a sus components (primera componente 0)

Ejemplo:

List<double> lista = new List<double>();

lista.Add(3.141); lista.Add(3.1415); lista.Add(3.14159);

foreach(double x in lista) Console.WriteLine(x);

lista.Clear();

Stack <T>

Métodos más comunes: Push, Pop (devuelve y elimina el top), Contains, Clear...
Puede ser enumerada, foreach, sin perder su información.

Ejemplo:

Stack pila = new Stack();

pila.Push(3.141); pila.Push(3.1415); pila.Push(3.14159);

foreach(double x in pila) Console.WriteLine(x);

while (pila.Count > 0) Console.WriteLine(pila.Pop());

Queue <T>

Métodos más comunes: Enqueue, Dequeue (devuelve y elimina la cabeza de la cola), Contains, Clear...

Puede ser enumerada, foreach, sin perder su información.

Ejemplo:

Queue cola = new Queue(); cola.Enqueue(“1”);

cola.Enqueue(“2”); cola.Enqueue(“3”);

foreach(double x in cola) Console.WriteLine(x);

while (cola.Count > 0) Console.WriteLine(cola.Dequeue());

LinkedList<T>

Lista totalmente dinámica (doblemente enlazada)

Métodos más comunes: AddAfter, AddBefore, AddFirst, AddLast, Remove, RemoveFirst, RemoveLast ...

Se puede enumerar, foreach, o acceder a los elementos a partir de las propiedades First, Last, Next y
Previous

Ejemplo:

LinkedList lista = new LinkedList(); lista.AddLast(3.141);

lista.AddLast(3.1415); lista.AddLast(3.14159);

foreach(double x in lista) Console.WriteLine(x); lista.Clear();

Dictionary<T>

Tabla de dispersión (hash) con tratamiento de colisiones por encadenamiento ! Métodos más comunes:
Add(clave, valor), ContainsKey, Remove(clave), TryGetValue ...

Se puede usar [] con la clave como índice (se lanza excepción si la llave no está en la tabla)

Ejemplo:

Dictionary abrirCon = new Dictionary();


abrirCon.Add(“txt”, “notepad.exe”); abrirCon.Add(“jpg”, “gimp.exe”);

abrirCon.Add(“.doc”, “word.exe”); Console.WriteLine(“Los txt se abren con ” + abrirCon[“txt”]);

Bibliografia

https://docs.microsoft.com/es-es/dotnet/csharp/programming-guide/concepts/collections

https://es.scribd.com/doc/172428042/C-Arreglos-y-Colecciones

Anda mungkin juga menyukai