Sie sind auf Seite 1von 5

package listas_objetos;

import java.io.*;
//package circulo;
import java.awt.*;
import javax.swing.*;
class Listas_Objetos {
public static class ClaseLista{
public static class ClaseNodo {
char dato; // Dato del nodo (NO debe declararse "s
tatic")
ClaseNodo sn; // Apuntador al siguiente nodo (NO
debe declararse "static")
}
static ClaseNodo inicial;
public static void Inicializar() {
inicial=new ClaseNodo();
inicial=null;
}
public static void Eliminar(char d) throws IOException {
ClaseNodo i=inicial, anterior=i;
if(i==null) {
System.out.println("Lista vacia !!!");
getch();
return;
}
while(i!=null) {
if(d==i.dato) {
if(i==inicial) {
inicial=i.sn;
System.out.println("\nBaja al pr
incipio...");
getch();
return;
}
anterior.sn=i.sn;
System.out.println("\nBaja intermedia o
al final ...");
getch();
return;
}
anterior=i;
i=i.sn;
}
System.out.println("\nNo existe ese dato !!!");
getch();
return;
}
public static void Insertar(char d) throws IOException {
ClaseNodo i=inicial, nuevo_nodo, anterior=i;
if(i==null) {
nuevo_nodo=new ClaseNodo();
nuevo_nodo.dato=d;
nuevo_nodo.sn=null;
inicial=nuevo_nodo;
System.out.println("\nAlta a lista vacia...");
getch();
return;
}
while(i!=null) {
if(d==i.dato) {
System.out.println("\nDuplicado !!!");
getch();
return;
}
if(d<i.dato) {
if(i==inicial) {
nuevo_nodo=new ClaseNodo();
nuevo_nodo.dato=d;
nuevo_nodo.sn=inicial;
inicial=nuevo_nodo;
System.out.println("\nAlta al pr
incipio...");
getch();
return;
}
nuevo_nodo=new ClaseNodo();
nuevo_nodo.dato=d;
nuevo_nodo.sn=anterior.sn;
anterior.sn=nuevo_nodo;
System.out.println("\nAlta intermedia...
");
getch();
return;
}
anterior=i;
i=i.sn;
}
nuevo_nodo=new ClaseNodo();
nuevo_nodo.dato=d;
nuevo_nodo.sn=null;
anterior.sn=nuevo_nodo;
System.out.println("\nAlta al final...");
getch();
return;
}
public static void Recorrido() throws IOException {
ClaseNodo i=inicial;
clrscr();
System.out.println("\n<<< LISTA ENZALADA>>>\n\n");
if(i==null) {
System.out.println("\nLista vacia");
}
int contador = 0;
while(i!=null) {
System.out.print(i.dato+"->");
i = i.sn;
// contador=1;
// contador ++;
}
while(i!=null){
contador+=1;
i = i.sn;
// contador ++;
}
int aux=contador;
// cuenta(aux);
System.out.println("null");
getch();
// cuenta(aux);
}

}//fin clase
static ClaseLista Lista=new ClaseLista(); // Declaracion global del obje
to Lista
public static void main(String args[]) throws IOException {
int valor = 0;
// Lista obj2=new Lista();
ClaseLista obj=new ClaseLista();
// Lista_Objetos o =new Lista_Objetos();
// valor =obj.cuenta(); // cuenta();
circulo2 x=new circulo2(valor);
x.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// circulo2 aplicacion=new circulo2(3);

// circulo obj=new circulo(valor);


int op=0;
Lista.Inicializar(); // Inicializar la Lista Enlazada
do {
clrscr();
System.out.println("\n\n<<<LISTA ENLAZADA>>>");
System.out.print("\n1.- Altas");
System.out.print("\n2.- Bajas");
System.out.print("\n3.- Imprimir");
System.out.print("\n0.- Salir");
System.out.print("\nOpcion? ---> ");
op=getInt();
switch(op) {
case 1 : Altas(); break;
case 2 : Bajas(); break;
case 3 : Lista.Recorrido(); break;
}
}while(op!=0);
}
public static void Bajas() throws IOException {
char dato;
clrscr();
System.out.println("\n<<< BAJAS >>>");
System.out.print("\nAnote el dato a eliminar ---> ");
dato=getChar();
Lista.Eliminar(dato);
}
public static void Altas() throws IOException {
char dato;
clrscr();
System.out.println("\n\n<<< ALTAS >>>");
System.out.print("\nAnote el dato a insertar ---> ");
dato=getChar();
Lista.Insertar(dato);
}
public static void clrscr() {
for(int i=0;i<26;i++)
System.out.println(" ");
}
//Funcion para capturar una cadena desde el teclado
public static String getString() throws IOException {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String s = br.readLine();
return s;
}
// Funcion para capturar un entero desde el teclado
public static int getInt() throws IOException {
String s = getString();
return Integer.parseInt(s);
}
//Funcion para capturar un caracter desde el teclado
public static char getChar() throws IOException {
String s=getString();
return s.charAt(0);
}
// Rutina para hacer una pausa
public static void getch() throws IOException {
String s;
System.out.print("\n<<< Oprima cualquier tecla para continuar >>
>");
s=getString();
return;
}
private static int cuenta() {
return 0;
}
}
class circulo2 extends JFrame{
int numero;
public circulo2(int numero){
this.numero=numero;
setSize(600,400);
setVisible(true);
}
public void paint(Graphics g){
super.paint(g);
for(int i=1; i<=numero; i++){
g.setColor(Color.BLUE);
g.drawOval(50*i,40,50,50);
}
}
}

Das könnte Ihnen auch gefallen