trabajo cuatro

14
Trabajo Numero 4: Mantenimiento Listas: Elaborar un programa que permita la administracion de una lista, mediante el uso de listas simples. Este debe constar de metodos de inserción de elemento al inicio y al final, eliminación de elemento por valor inicial, final y por valor a eleccion. Como tambien el ordenamientode la lista. Codigo: FRAME: package mantenimientoListas; import javax.swing.*; public class Frame extends JFrame { // Metodo constructor Frame(JPanel panel){ super("Mantenimiento Listas - Enteros"); this.setContentPane(panel); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setResizable(false); this.setBounds(0,0,650,500); this.setVisible(true); } } MAIN: package mantenimientoListas; public class Main {

Upload: paromarye1

Post on 11-Feb-2016

215 views

Category:

Documents


0 download

DESCRIPTION

Trabajo

TRANSCRIPT

Page 1: Trabajo Cuatro

Trabajo Numero 4:Mantenimiento Listas:Elaborar un programa que permita la administracion de una lista, mediante el uso de listas simples. Este debe constar de metodos de inserción de elemento al inicio y al final, eliminación de elemento por valor inicial, final y por valor a eleccion. Como tambien el ordenamientode la lista.

Codigo:

FRAME:

package mantenimientoListas;

import javax.swing.*;

public class Frame extends JFrame {// Metodo constructorFrame(JPanel panel){

super("Mantenimiento Listas - Enteros");this.setContentPane(panel);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false);this.setBounds(0,0,650,500);this.setVisible(true);

}}

MAIN:package mantenimientoListas;

public class Main {

public static void main(String[] args) { Panel panel = new Panel(); Frame frame = new Frame(panel);

}}

PANEL:package mantenimientoListas;

Page 2: Trabajo Cuatro

import java.awt.Color;import java.awt.Font;import java.awt.event.*;import javax.swing.*;

public class Panel extends JPanel implements ActionListener {

JLabel lblArreglo; JButton[] btn = new JButton[10]; JTextArea txtS; JScrollPane scpScroll; ListaSimple lista = new ListaSimple();

Panel() {

this.setLayout(null);

lblArreglo = new JLabel("Arreglos Lineales", JLabel.CENTER); lblArreglo.setForeground(Color.blue); lblArreglo.setFont(new Font("dialog", 3, 24)); lblArreglo.setBounds(20, 20, 300, 40); add(lblArreglo);

for (int i = 0; i < 10; i++) { btn[i] = new JButton(""); btn[i] = new JButton(etiqueta(i)); btn[i].addActionListener(this); btn[i].setBounds(320, (23 * i) + 100, 300, 23); this.add(btn[i]); } txtS = new JTextArea(); btn[3].setVisible(false); scpScroll = new JScrollPane(txtS); scpScroll.setBounds(10, 80, 300, 298); add(scpScroll); }

// Procesa eventos de tipo ActionEvent public void actionPerformed(ActionEvent e) { for (int i = 0; i < btn.length; i++) { if (e.getSource() == btn[i]) { botonPulsado(i); } } } // Métodos que retornan valor (con parámetros)

String etiqueta(int i) { switch (i) {

Page 3: Trabajo Cuatro

case 0: return "Leer Valor"; case 1: return "Ingresar al Inicio"; case 2: return "Ingresar al Final"; case 3: return "Ingresar en Orden"; case 4: return "Eliminar Valor Inicial"; case 5: return "Eliminar Valor Final"; case 6: return "Eliminar Valor"; case 7: return "Ordenar Descendentes"; case 8: return "Ordenar Ascendente"; case 9: return "Listar"; case 10: return "Limpiar";

} return ""; } // Métodos tipo void (con parámetros)

void botonPulsado(int i) { switch (i) { case 0: leerDato(); break; case 1: ingresarAlInicio(); break; case 2: ingresarAlFinal(); break; case 3:

break; case 4: eliminarInicio(); break; case 5: eliminarFin(); break; case 6: eliminarValor();

Page 4: Trabajo Cuatro

break; case 7: ordenarDescendente(); break; case 8: ordenarAscendente(); break; case 9: listar(); break; case 10: limpiar(); break; } }

void leerDato() { limpiar(); lista.agregarFinal(); ordenarAscendente(); listar(); }

void ingresarAlInicio() { limpiar(); lista.agregarInicio(); listar(); }

void ingresarAlFinal() { limpiar(); lista.agregarFinal(); listar(); }

void eliminarInicio() { limpiar(); lista.eliminarInicio(); listar(); }

void eliminarFin() { limpiar(); lista.eliminarFinal(); listar(); }

void eliminarValor() { limpiar(); lista.eliminarValor();

Page 5: Trabajo Cuatro

listar(); }

void ordenarAscendente() { limpiar(); lista.ordenarEnAscenso(); listar(); } void ordenarDescendente() { limpiar(); lista.ordenarEnDescenso(); listar(); }

void obtener(int pos) { limpiar(); }

void listar() {

Nodo aux = lista.getLista(); txtS.setText(""); if (aux == null) { txtS.setText("La lista esta vacia"); } else { int c = 0; while (aux != null) { c++; txtS.append(c + " - " + aux.codigo + "\n"); aux = aux.sig; } } }

void limpiar() { txtS.setText(""); }

void imprimir(String cadena) { txtS.append(cadena + "\n"); }

}

LISTA SIMPLE:

Page 6: Trabajo Cuatro

package mantenimientoListas;

import javax.swing.JOptionPane;

public class ListaSimple {

Nodo lista;

public Nodo getLista() { return lista; }

public void setLista(Nodo lista) { this.lista = lista; }

void agregarInicio() { Nodo n = leerNodo(); agregarInicio1(n); }

void agregarInicio1(Nodo n) { n.sig = lista; lista = n; }

void eliminarInicio() { if (lista == null) { } else { lista = lista.sig; } }

void agregarFinal() { Nodo n = leerNodo(); agregarFinal1(n);

}

void agregarFinal1(Nodo n) { Nodo aux = lista; if (lista != null) { while (aux.sig != null) { aux = aux.sig; } aux.sig = n; } else { agregarInicio1(n); } }

Page 7: Trabajo Cuatro

void eliminarFinal() { Nodo aux = lista; if (lista != null) { if (lista.sig == null) { lista = null; } else { while (aux.sig.sig != null) { aux = aux.sig; } aux.sig = null; } } else { eliminarInicio(); } }

void ordenarEnAscenso() {

if (lista != null) { Nodo mayor = null; Nodo ordenada = null; while (lista != null) { mayor = obtenerMayor(); eliminar(mayor); mayor.sig = ordenada; ordenada = mayor; } lista = ordenada; } }

void ordenarEnDescenso() { if (lista != null) { Nodo menor = null; Nodo ordenada = null; while (lista != null) { menor = obtenerMenor(); eliminar(menor); menor.sig = ordenada; ordenada = menor; } lista = ordenada; } }

void eliminarValor(){ if( lista!= null ){ Nodo n = leerNodo(); Nodo aux = lista;

Page 8: Trabajo Cuatro

while(aux!=null){ if( n.codigo == aux.codigo ){ eliminar(aux); } aux = aux.sig; } } else{} }

void eliminar(Nodo n) { if (n == lista) { lista = lista.sig; } else { Nodo aux = lista; while (aux.sig != n) { aux = aux.sig; } aux.sig = n.sig; } }

Nodo obtenerMayor() {

Nodo aux = lista; Nodo mayor = lista; while (aux != null) { if (aux.codigo > mayor.codigo) { mayor = aux; } aux = aux.sig; } return mayor; }

Nodo obtenerMenor() {

Nodo aux = lista; Nodo menor = lista; while (aux != null) { if (aux.codigo < menor.codigo) { menor = aux; } aux = aux.sig; } return menor; }

Page 9: Trabajo Cuatro

Nodo leerNodo() { Nodo n = new Nodo(); n.codigo = Integer.parseInt(JOptionPane.showInputDialog(lista)); return n; }}

NODO:package mantenimientoListas;

public class Nodo {

Nodo sig; int codigo;

}

RESULTADOS:Llenado:

Ordenamiento Descendiente:

Page 10: Trabajo Cuatro

Eliminacion de Valor Inicial:

Eliminacion del valor 11:

Page 11: Trabajo Cuatro