PILAS
Definición
Una pila (stack en inglés) es una estructura de datos de tipo LIFO que permite almacenar y recuperar datos. Se aplica en multitud de ocasiones en informática debido a su simplicidad y ordenación implícita en la propia estructura.
Política
Es una estructura de datos de tipo LIFO (del inglés Last In First Out, último en entrar, primero en salir)
Elementos
• PUSH (pila, elemento):
Introduce un elemento en la pila. También se le conoce como poner o meter.
• POP (pila):
Elimina un elemento de la pila. También se le conoce como sacar o quitar.
• VACIA(pila):
Función booleana que indica si la pila esta vacía o no.
Operaciones
Las
operaciones que se pueden realizar con una pila son:
•
PUSH (pila, elemento):
Introduce un elemento en la pila. También
se le conoce como poner o meter.
•
POP (pila):
Elimina un elemento de la pila. También se le
conoce como sacar o quitar.
•
VACIA(pila):
Función booleana que indica si la pila esta vacía o no.
Algoritmo
namespace
ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Stack pila
= new Stack();//instancio un nuevo objeto stack(pila)
pila.Push(1);//agrego un elemento a la pila
pila.Push(4);
pila.Push(1);
pila.Push(6);
pila.Push(3);
pila.Push(5);
pila.Push(9);
for (int i = 0; i < 3;
i++)//itera 3 veces para ir retirando elementos de la pila
{
//pila.pop saca elementos de la pila
Console.WriteLine("Elemento
retirado de la pila: " + pila.Pop());//imprime los elementos que va
retirando el .pop
Console.WriteLine("el próximo elemento que queda en la pila es:
" + pila.Peek());//muestra el elemento siguiente en la pila sin eliminarlo
Console.WriteLine("");
}
Console.ReadKey();
}
}
}
Colas
Definición
Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro.
Política
También
se le llama estructura FIFO (del inglés First In First Out),
debido a que el primer elemento en entrar será también el primero en salir.
Elementos
Frente: apunta el inicio de la cola y que se incrementa cada vez que sale un elemento de la cola
Atrás: apunta al ultimo elemento entro a la cola y que se incrementa cada vez que ingresa un nuevo elemento
lacola[]: es el vector máximo que guarda los elementos de una cola
Máximo : es el tamaño de la cola o número de elementos que tendrá la cola
Operaciones
•Insertar.- Almacena al final de la cola el
elemento que se recibe como parámetro.
•Eliminar.- Saca de la cola el elemento que
se encuentra al frente.
•Vacía.- Regresa un valor booleano
indicando si la cola tiene o no elementos (true – si la cola esta vacía, false
– si la cola tiene al menos un elemento).
•Llena.- Regresa un valor booleano
indicando si la cola tiene espacio disponible para insertar nuevos elementos (
true – si esta llena y false si existen espacios disponibles).
Algoritmo
public
partial class frmPrincipal
{
// Variables globales
public static string[] Cola;
public static int Frente;
public static int Final;
public static int N;
[STAThread]
public static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new frmPrincipal());
}
public frmPrincipal() // Constructor
{
InitializeComponent();
Cola = new string[5]; // Arreglo lineal de 5
N = 4;
Frente = -1;
Final = -1;
}
void CmdInsercionClick(object sender,
System.EventArgs e)
{
frmInsercion Insercion = new
frmInsercion();
Insercion.Show();
}
void CmdRecorridoClick(object sender,
System.EventArgs e)
{
frmRecorrido Recorrido = new frmRecorrido();
Recorrido.Show();
}
void CmdBusquedaClick(object sender,
EventArgs e)
{
frmBusqueda Busqueda = new frmBusqueda();
Busqueda.Show();
}
void CmdEliminacionClick(object sender,
EventArgs e)
{
frmEliminacion Eliminar = new frmEliminacion();
Eliminar.Show();
}
}
Listas
Definición
Una lista enlazada es un tipo de dato
auto-referenciado porque contienen un puntero o link a otro dato del mismo
tipo. Las listas enlazadas permiten inserciones y eliminación de nodos en
cualquier punto de la lista en tiempo constante (suponiendo que dicho punto
está previamente identificado o localizado), pero no permiten un acceso
aleatorio. Existen diferentes tipos de listas enlazadas: Lista Enlazadas
Simples, Listas Doblemente Enlazadas, Listas Enlazadas Circulares y Listas
Enlazadas Doblemente Circulares.
Política
Las listas no tienen política pueden tenerla cuando se comportan como cola o pila dinámica
Elementos
add: Agrega elementos a la lista
insert: Inserta un valor a la lista en una posicion, insert(posicion,valor)
ElementAt(posicion): Nos regresa un valor de la posicion especificada.
Remove: Remueve el primer valor que coincida con el que desea eliminar el usuario.
RemoveAt(posicion): Remueve el elementode la lista de posicion especificada
Operaciones
count: Nos da El numero de elementos que hay en la lista.
add: Agrega elementos a la lista
insert: Inserta un valor a la lista en una posición, insert(posicion,valor)
ElementAt(posicion): Nos regresa un valor de la posición especificada.
Remove: Remueve el primer valor que coincida con el que desea eliminar el usuario.
RemoveAt(posición): Remueve el elemento de la lista de posición especificada
Algoritmo
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Stack pila = new Stack();//instancio un nuevo objeto stack(pila)
pila.Push(1);//agrego un elemento a la pila
pila.Push(4);
pila.Push(1);
pila.Push(6);
pila.Push(3);
pila.Push(5);
pila.Push(9);
for (int i = 0; i < 3; i++)//itera 3 veces para ir retirando elementos de la pila
{
//pila.pop saca elementos de la pila
Console.WriteLine("Elemento retirado de la pila: " + pila.Pop());//imprime los elementos que va retirando el .pop
Console.WriteLine("el próximo elemento que queda en la pila es: " + pila.Peek());//muestra el elemento siguiente en la pila sin eliminarlo
Console.WriteLine("");
}
Console.ReadKey();
}
}
}