Sie sind auf Seite 1von 14

Cristbal de Jess Flores Iiguez

AL13503107
Estructuras de datos unidad 1
Evidencia de Aprendizaje. Estructura de datos

Pilas
Para la creacin de pilas Java ya tiene integrada una librera para la creacin de
estas, por lo que basta con declarar una de estas pilas predefinidas y especificar el
tipo de datos que acepta la pila, como se muestra a continuacin:
Stack<String> pila = new Stack<String> ();
Por lo que basta utilizar los mtodos de este objeto pila para poder operar los
datos dentro de la pila. En el caso de la actividad 5, implemente un editor de texto
que puede deshacer letra por letra conforme se vaya introduciendo, por lo que
cada vez que presiona la tecla enter, se empuja o se inserta en la pila el valor del
texto dentro de un componente llamado, jEditoPane dentro del form como se
puede ver a continuacin:

Por lo que el mtodo que hace que se inserten nuevos elementos a la fila queda
como sigue:
private void jEditorPane1KeyPressed(java.awt.event.KeyEvent evt) {

// TODO add your handling code here:

if(evt.getKeyCode()== KeyEvent.VK_CONTROL)
{
if(jEditorPane1.getText().equals("")||jEditorPane1.getText().equals(" "))
{
pila.clear();
cont=0;

}
else
{
pila.pop();
String s = " ";
for(int i = 0 ; i<pila.size();i++)
{
s += pila.get(i) + " ";
}
jEditorPane1.setText(s);
// ene ste codigo recorremos la pila y despues lo guardamos en un string

// temporal que despues igualamos el texto del editor pane con esta cadena
}

}
else
{

if(evt.getKeyChar()==' ')
{
pila.push(jEditorPane1.getText().split(" ")[cont]);
cont++; // partimos la entrada con el ragex espacio

}
Cada vez que se presiona enter se va insertando una nueva palabra a la pila y
cuando se presiona entre se quita de la pila la ltima palabra escrita y se
establece el texto que contiene la pila en el editor de texto

Colas
Para la implementacin de colas, se necesit hacer una clase especial para darle
el uso a un objeto de tipo LinkedList de una cola, la clase es como la que se
muestra:

public class Cola {


LinkedList cola = new LinkedList(); // Objeto de tipo lista
public int size()
{
return cola.size(); // Retorna el tamao de la cola
}
public void push(String a)
{
cola.addFirst(a); // Adhiere al principio de la lista, es decir como se hace en una cola
}
public String pop()

{
return (String)cola.removeLast(); //Se remueve el ultimo element de la lista
}
public String Mostrar() //Se muestran todos los elementos de la cola
{String s= "";
for(int i=0;i<cola.size();i++)
s += cola.get(i).toString() + "\n";
return s;
// se recorre la cola y se almacena toda en s, y despues de retorna s
}
public void Ordenar()
{
Collections.sort(cola); //Se ordenan los elementos
}
public String Buscar(int a) //Busqueda por indice
{
Object c = cola.get(a);
String s = c.toString();
return s;

}
public void Remover(String s) //Eliminacion de algun objeto dentro de la cola
{
cola.remove(s);

}
public void Remove_index(int n) //Remover por indice
{
cola.remove(n);
}
public void Remove_all() //Limpiar la cola
{
cola.removeAll(cola);
}

Para el caso de la actividad 5, se hizo un cobrador de productos, en el cual se


utiliza la funcionalidad de una cola al atender a una cola de clientes que quieren
pagar distintos productos, la aplicacin es como se muestra:

La aplicacin incluye las siguientes operaciones sobre la cola:

En vender producto simplemente se captura la informacin en los campos de


texto y se inserta a la cola el producto vendido:

En buscar producto simplemente se invoca el mtodo buscar por ndice:

En el mtodo de atender a siguiente cliente se avanza en la cola y se resetean los


valores de los campos de texto.
En el mtodo eliminar todos los registros, simplemente se invoca el mtodo de
Remove_all el cual hace una limpieza de todos los elementos de la cola y por
ltimo se actualiza el editor de texto con los elementos actuales de la cola.

Y por ltimo para eliminar el ltimo registro se invoca el mtodo pop() que
elimina el ultimo registro.

Listas
Para la implementacin de listas se hizo una clase especial que tiene un objeto de
tipo LinkedList que tiene elementos de tipo String, se hicieron algunos mtodos
de los ms importantes para operar una lista, quedo como continuacin:
public class Lista {

LinkedList lista = new LinkedList();

public void remove(String s)


{

lista.remove(s);
}

public void push_back(String s)


{
lista.addLast(s);

}
public void push_front(String s)
{
lista.addFirst(s);
}
public void pop_back()
{
lista.removeLast();
}
public void pop_front()
{
lista.removeFirst();

}
public String show_list()

{
String s = "";

List lista2 = new ArrayList(lista);


Iterator it = lista2.iterator();
while (it.hasNext()){ // se itera la lsita para despues retornarse
s += it.next() + " \n ";

}
return s ;
}
public void remove_all()
{
lista.clear();
}
public void find_index()
{
int n = Integer.parseInt(JOptionPane.showInputDialog("Inreoduce el index
para encontrar valor en la lista"));
String s = lista.get(n).toString();
// se busca en la lista y el resultado se muestra en pantalla
JOptionPane.showMessageDialog(null,"Elemento encotnrado: "+ s);

}
public void peek_front()
{
String s = lista.peekFirst().toString();
JOptionPane.showMessageDialog(null,"Elemento al frente : "+ s);

}
public void peek_back()
{
String s = lista.peekLast().toString();
JOptionPane.showMessageDialog(null,"Elemento al final : "+ s);

}
Como se puede saber ya, en una lista, podemos accesar a sus elementos de
manera secuencial y se pueden insertar tanto en el principio como en el final de la
lista, en el caso de la actividad 5, se hizo un organizador de tareas escolares en el
cual simplemente se archivan cadenas en una lista:

Las operaciones que se hacer sobre la lista son:

Cada vez que se inserta una nueva tarea se utiliza el mtodo push_back el cual
inserta al ltimo de la cola el nuevo valor del campo de texto indicado que es un
String, ya que la lista solo acepta elementos de tipo String.
El evento que hace las operaciones es que definido por el combo box que se
mostr anteriormente, su implementacin es como sigue:

Das könnte Ihnen auch gefallen