Beruflich Dokumente
Kultur Dokumente
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) {
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:
{
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);
}
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 {
lista.remove(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 = "";
}
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:
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: