Ejemplo Colas:
Clase Cola:
public class Cola {
private NodoCola inicio;
private NodoCola fin;
public void agregar(int valor){
NodoCola nuevo= new NodoCola(valor);
if(vacia()){
inicio=nuevo;
}else{
fin.setSiguiente(nuevo);
}
fin=nuevo;
}
public boolean vacia(){
return inicio==null;
}
public int cont(){
int cont=0;
NodoCola aux=inicio;
while(aux!=null){
cont++;
aux=aux.getSiguiente();
}
return cont;
}
public void imprimir(){
int cont=1;
NodoCola aux=inicio;
while(aux!=null){
System.out.println(cont+". "+aux.getInfo());
cont++;
aux=aux.getSiguiente();
}
}
}
Clase NodoCola:
public class NodoCola {
private NodoCola siguiente;
private int info;
public NodoCola(int info,NodoCola siguiente) {
this.siguiente = siguiente;
this.info = info;
}
public NodoCola(int info) {
this.info = info;
siguiente=null;
}
public NodoCola getSiguiente() {
return siguiente;
}
public void setSiguiente(NodoCola siguiente) {
this.siguiente = siguiente;
}
public int getInfo() {
return info;
}
public void setInfo(int info) {
this.info = info;
}
}
Clase Principal:
import java.util.Scanner;
public class Principal {
public static void main(String[] args) {
// TODO Auto-generated method stub
Cola c=new Cola();
int menu=0;
do{
menu=leerInt("----Menu----"
+ "\n0.Salir"
+ "\n1.Ingresar Datos"
+ "\n2.Imprimir Cola"
+ "\n3.calcula numero de datos");
switch(menu){
case 0:{
System.out.println("Programa Terminado");
break;
}
case 1:{
c.agregar(leerInt("Ingrese el valor del dato a agregar a la cola"));
break;
}
case 2:{
c.imprimir();
break;
}
case 3:{
System.out.println("El numero de datos en la cola es de: "+c.cont());
break;
}
}
}while(menu!=0);
}
public static int leerInt(String texto){
Scanner leer=new Scanner(System.in);
System.out.println(texto);
return leer.nextInt();
}
}
Ejemplo Pila:
Clase Pila:
public class Pila {
private NodoPila cima;
public Pila(){
cima=null;
}
public void imprimir(){
NodoPila aux=cima;
int cont=cont();
while(aux!=null){
System.out.println(cont+" "+aux.getInfo());
cont--;
aux=aux.getAnterior();
}
}
public int cont(){
NodoPila aux=cima;
int cont=0;
while(aux!=null){
cont++;
aux=aux.getAnterior();
}
return cont;
}
public void agregarNodo(int valor){
NodoPila nuevo=new NodoPila(valor,cima);
cima=nuevo;
}
}
Clase NodoPila:
public class NodoPila {
private int info;
private NodoPila anterior;
public NodoPila(int info, NodoPila anterior) {
this.info = info;
this.anterior = anterior;
}
public NodoPila(int info) {
this.info = info;
anterior=null;
}
public int getInfo() {
return info;
}
public void setInfo(int info) {
this.info = info;
}
public NodoPila getAnterior() {
return anterior;
}
public void setAnterior(NodoPila anterior) {
this.anterior = anterior;
}
}
Clase Principal:
import java.util.Scanner;
public class Principal {
public static void main(String[] args) {
// TODO Auto-generated method stub
Pila p=new Pila();
int menu=0;
do{
menu=leerInt("-----Menu-----"
+ "\n0.Salir"
+ "\n1.Ingresar dato a la pila"
+ "\n2.Imprimir pila"
+ "\n3.Calcular numero de elementos pila");
switch(menu){
case 0:{
System.out.println("Programa terminado");
break;
}
case 1:{
p.agregarNodo(leerInt("Ingrese el valor numerico a agregar a la pila"));
break;
}
case 2:{
p.imprimir();
break;
}
case 3:{
System.out.println("El numero de elementos en la pila es de: "+p.cont());
break;
}
}
}while(menu!=0);
}
public static int leerInt(String texto){
Scanner leer= new Scanner(System.in);
System.out.println(texto);
return leer.nextInt();
}
}
Referencias:
- Carolo, g(s,n).Listas,Pilas y Colas.Recuperado el 18 de noviembre de 2015 de http://es.slideshare.net/izyalyth/ay-p2-ejercicioslistaspilascolas
No hay comentarios.:
Publicar un comentario