sábado, 16 de diciembre de 2017
Crear un arbol se pueda insertar , pre orden, enorden, post orden eliminar , numeroc de nodos
package proyectoarboles;
public class NodoArbol {
private int info;
private NodoArbol hi;
private NodoArbol hd;
public NodoArbol() {
}
public NodoArbol(int x) {
info = x;
hi = null;
hd = null;
}
public NodoArbol(int info, NodoArbol hi, NodoArbol hd) {
this.info = info;
this.hi = hi;
this.hd = hd;
}
public int getInfo() {
return info;
}
public void setInfo(int info) {
this.info = info;
}
public NodoArbol getHi() {
return hi;
}
public void setHi(NodoArbol hi) {
this.hi = hi;
}
public NodoArbol getHd() {
return hd;
}
public void setHd(NodoArbol hd) {
this.hd = hd;
}
}
package proyectoarboles;
/**
*
* @author MARCELINO
*/
public class ArbolBB {
private NodoArbol raiz;
public ArbolBB() {
raiz = null;
}
public boolean esVacio() {
return raiz == null;
}
public void inserta(int x) {
raiz = inserta(x, raiz);
}
private NodoArbol inserta(int x, NodoArbol r) {
if (r == null) {
r = new NodoArbol(x);
} else if (x < r.getInfo()) {
r.setHi(inserta(x, r.getHi()));
} else if (x > r.getInfo()) {
r.setHd(inserta(x, r.getHd()));
}
return r;
}
public void enOrden() {
enOrden(raiz);
System.out.println();
}
private void enOrden(NodoArbol r) {
if (r != null) {
enOrden(r.getHi());
System.out.print(r.getInfo() + " ");
enOrden(r.getHd());
}
}
public void postOrden() {
postOrden(raiz);
System.out.println();
}
private void postOrden(NodoArbol r) {
if (r != null) {
postOrden(r.getHi());
postOrden(r.getHd());
System.out.print(r.getInfo() + " ");
}
}
public void preOrden() {
preOrden(raiz);
System.out.println();
}
private void preOrden(NodoArbol r) {
if (r != null) {
System.out.print(r.getInfo() + " ");
preOrden(r.getHi());
preOrden(r.getHd());
}
}
public int buscarMax() {
return buscarMax(raiz);
}
private int buscarMax(NodoArbol r) {
int x;
if (r.getHd() == null) {
x = r.getInfo();
} else {
x = buscarMax(r.getHd());
}
return x;
}
public int buscarMin() {
return buscarMin(raiz);
}
private int buscarMin(NodoArbol r) {
int x;
if (r.getHi() == null) {
x = r.getInfo();
} else {
x = buscarMin(r.getHi());
}
return x;
}
public int contar() {
return contar(raiz);
}
private int contar(NodoArbol r) {
if (r == null) {
return 0;
} else {
return 1 + contar(r.getHi()) + contar(r.getHd());
}
}
public void eliminaMin() {
raiz = eliminaMin(raiz);
}
private NodoArbol eliminaMin(NodoArbol r) {
if (r.getHi() == null) {
r = r.getHd();
} else {
r.setHi(eliminaMin(r.getHi()));
}
return r;
}
public void elimina(int x) {
raiz = elimina(x, raiz);
}
private NodoArbol elimina(int x, NodoArbol r) {
if (r != null) {
if (x < r.getInfo()) {
r.setHi(elimina(x, r.getHi()));
} else if (x > r.getInfo()) {
r.setHd(elimina(x, r.getHd()));
} else if (r.getHi() == null) {
r = r.getHd();
} else if (r.getHd() == null) {
r = r.getHi();
} else {
r.setInfo(buscarMin(r.getHd()));
r.setHd(eliminaMin(r.getHd()));
}
}
return r;
}
public int alturaArbol() {
return alturaArbol(raiz);
}
private int alturaArbol(NodoArbol r) {
int ahi, ahd;
if (r == null) {
return -1;
} else {
ahi = 1 + alturaArbol(r.getHi());
ahd = 1 + alturaArbol(r.getHd());
if (ahi > ahd) {
return ahi;
} else {
return ahd;
}
}
}
}
package proyectoarboles;
import java.util.Scanner;
public class ProyectoArboles {
public static void main(String[] args) {
// TODO code application logic here
int op, x;
Scanner entrada = new Scanner(System.in);
ArbolBB abb = new ArbolBB();
do {
System.out.println("Menu Arboles");
System.out.println("[1] Insertar Arbol");
System.out.println("[2] Pre Orden");
System.out.println("[3] En Orden");
System.out.println("[4] Post Orden");
System.out.println("[5] Eliminar");
System.out.println("[6] Numero de nodos");
System.out.println("[7] altura del Arbol");
System.out.println("[8] Maximo del arbol");
System.out.println("[9] Minimo del arbol");
System.out.println("[10] Salir");
System.out.print("Ingrese opcion : ");
op = entrada.nextInt();
switch (op) {
case 1:
System.out.print(" Ingrese numero : ");
x = entrada.nextInt();
abb.inserta(x);
break;
case 2:
System.out.println(" Pre Orden");
abb.preOrden();
break;
case 3:
System.out.println(" En Orden");
abb.enOrden();
break;
case 4:
System.out.println(" Post Orden");
abb.postOrden();
break;
case 5:
System.out.print(" Ingrese numero a eliminar: ");
x = entrada.nextInt();
abb.elimina(x);
break;
case 6:
System.out.println(" El numero de nodos del arbol" + abb.contar());
break;
case 7:
System.out.println(" La altura del arbol es : " + abb.alturaArbol());
break;
case 8:
System.out.println(" Maximo elemento" + abb.buscarMax());
break;
case 9:
System.out.println(" Minimo elemento" + abb.buscarMin());
break;
}
} while (op != 10);
}
}
public class NodoArbol {
private int info;
private NodoArbol hi;
private NodoArbol hd;
public NodoArbol() {
}
public NodoArbol(int x) {
info = x;
hi = null;
hd = null;
}
public NodoArbol(int info, NodoArbol hi, NodoArbol hd) {
this.info = info;
this.hi = hi;
this.hd = hd;
}
public int getInfo() {
return info;
}
public void setInfo(int info) {
this.info = info;
}
public NodoArbol getHi() {
return hi;
}
public void setHi(NodoArbol hi) {
this.hi = hi;
}
public NodoArbol getHd() {
return hd;
}
public void setHd(NodoArbol hd) {
this.hd = hd;
}
}
package proyectoarboles;
/**
*
* @author MARCELINO
*/
public class ArbolBB {
private NodoArbol raiz;
public ArbolBB() {
raiz = null;
}
public boolean esVacio() {
return raiz == null;
}
public void inserta(int x) {
raiz = inserta(x, raiz);
}
private NodoArbol inserta(int x, NodoArbol r) {
if (r == null) {
r = new NodoArbol(x);
} else if (x < r.getInfo()) {
r.setHi(inserta(x, r.getHi()));
} else if (x > r.getInfo()) {
r.setHd(inserta(x, r.getHd()));
}
return r;
}
public void enOrden() {
enOrden(raiz);
System.out.println();
}
private void enOrden(NodoArbol r) {
if (r != null) {
enOrden(r.getHi());
System.out.print(r.getInfo() + " ");
enOrden(r.getHd());
}
}
public void postOrden() {
postOrden(raiz);
System.out.println();
}
private void postOrden(NodoArbol r) {
if (r != null) {
postOrden(r.getHi());
postOrden(r.getHd());
System.out.print(r.getInfo() + " ");
}
}
public void preOrden() {
preOrden(raiz);
System.out.println();
}
private void preOrden(NodoArbol r) {
if (r != null) {
System.out.print(r.getInfo() + " ");
preOrden(r.getHi());
preOrden(r.getHd());
}
}
public int buscarMax() {
return buscarMax(raiz);
}
private int buscarMax(NodoArbol r) {
int x;
if (r.getHd() == null) {
x = r.getInfo();
} else {
x = buscarMax(r.getHd());
}
return x;
}
public int buscarMin() {
return buscarMin(raiz);
}
private int buscarMin(NodoArbol r) {
int x;
if (r.getHi() == null) {
x = r.getInfo();
} else {
x = buscarMin(r.getHi());
}
return x;
}
public int contar() {
return contar(raiz);
}
private int contar(NodoArbol r) {
if (r == null) {
return 0;
} else {
return 1 + contar(r.getHi()) + contar(r.getHd());
}
}
public void eliminaMin() {
raiz = eliminaMin(raiz);
}
private NodoArbol eliminaMin(NodoArbol r) {
if (r.getHi() == null) {
r = r.getHd();
} else {
r.setHi(eliminaMin(r.getHi()));
}
return r;
}
public void elimina(int x) {
raiz = elimina(x, raiz);
}
private NodoArbol elimina(int x, NodoArbol r) {
if (r != null) {
if (x < r.getInfo()) {
r.setHi(elimina(x, r.getHi()));
} else if (x > r.getInfo()) {
r.setHd(elimina(x, r.getHd()));
} else if (r.getHi() == null) {
r = r.getHd();
} else if (r.getHd() == null) {
r = r.getHi();
} else {
r.setInfo(buscarMin(r.getHd()));
r.setHd(eliminaMin(r.getHd()));
}
}
return r;
}
public int alturaArbol() {
return alturaArbol(raiz);
}
private int alturaArbol(NodoArbol r) {
int ahi, ahd;
if (r == null) {
return -1;
} else {
ahi = 1 + alturaArbol(r.getHi());
ahd = 1 + alturaArbol(r.getHd());
if (ahi > ahd) {
return ahi;
} else {
return ahd;
}
}
}
}
package proyectoarboles;
import java.util.Scanner;
public class ProyectoArboles {
public static void main(String[] args) {
// TODO code application logic here
int op, x;
Scanner entrada = new Scanner(System.in);
ArbolBB abb = new ArbolBB();
do {
System.out.println("Menu Arboles");
System.out.println("[1] Insertar Arbol");
System.out.println("[2] Pre Orden");
System.out.println("[3] En Orden");
System.out.println("[4] Post Orden");
System.out.println("[5] Eliminar");
System.out.println("[6] Numero de nodos");
System.out.println("[7] altura del Arbol");
System.out.println("[8] Maximo del arbol");
System.out.println("[9] Minimo del arbol");
System.out.println("[10] Salir");
System.out.print("Ingrese opcion : ");
op = entrada.nextInt();
switch (op) {
case 1:
System.out.print(" Ingrese numero : ");
x = entrada.nextInt();
abb.inserta(x);
break;
case 2:
System.out.println(" Pre Orden");
abb.preOrden();
break;
case 3:
System.out.println(" En Orden");
abb.enOrden();
break;
case 4:
System.out.println(" Post Orden");
abb.postOrden();
break;
case 5:
System.out.print(" Ingrese numero a eliminar: ");
x = entrada.nextInt();
abb.elimina(x);
break;
case 6:
System.out.println(" El numero de nodos del arbol" + abb.contar());
break;
case 7:
System.out.println(" La altura del arbol es : " + abb.alturaArbol());
break;
case 8:
System.out.println(" Maximo elemento" + abb.buscarMax());
break;
case 9:
System.out.println(" Minimo elemento" + abb.buscarMin());
break;
}
} while (op != 10);
}
}
Ejercicios de colas
package proyectopilacola;
import java.util.Scanner;
public class EjerciciosCola {
Scanner lec=new Scanner(System.in);
public void Doncella(){
Cola<Doncella> cola=new Cola();
int i, talla;
String nombre;
System.out.print("Ingrese numero de doncellas: ");
i=lec.nextInt();
for(int c=0;c<i;c++){
System.out.print("Doncella "+(c+1)+": ");
lec.nextLine();
nombre=lec.nextLine();
System.out.print("Talla: ");
talla=lec.nextInt();
Doncella doncella=new Doncella(nombre,talla);
cola.encolar(doncella);
}
System.out.print("Ingrese la talla de Cenicienta: ");
talla=lec.nextInt();
boolean ver=true;
if(cola.esVacia()){
System.out.println("No ingreso a ninguna doncella");
}
else{
while(!cola.esVacia()&&ver==true){
Doncella cenicienta=cola.desencolar();
if(talla==cenicienta.getTalla()){
System.out.println(cenicienta);
ver=false;
}
}
if(ver)
System.out.println("Cenicienta no encontrada");
}
}
public void colaPersonas(){
Cola<Persona> cola= new Cola();
int i,edad;
String nombre;
System.out.print("Cuantas persona desea ingresar: ");
i=lec.nextInt();
for(int c=0;c<i;c++){
System.out.print(".Nombre: ");
lec.nextLine();
nombre=lec.nextLine();
System.out.print(".Edad: ");
edad=lec.nextInt();
Persona persona=new Persona(nombre, edad);
cola.encolar(persona);
}
// 1: Infantes[0-6] || 2: Niños[7-14] || 3: Adolescentes[15-18]
// 4: Jovenes[19-35]|| 5: Adultos[36-50] || 6: Adultos Mayores[51]
if(cola.esVacia())
System.out.println("La cola esta vacia");
else{
Cola<Persona> separar[]=new Cola[6];
i=0;
while(i<6){
separar[i]=new Cola();
i++;
}
while(!cola.esVacia()){
Persona nuevo= cola.desencolar();
edad=nuevo.getEdad();
if(edad>=0&&edad<=6){
separar[0].encolar(nuevo);
}
else if(edad>=7&&edad<=14){
separar[1].encolar(nuevo);
}
else if(edad>=15&&edad<=18){
separar[2].encolar(nuevo);
}
else if(edad>=19&&edad<=35){
separar[3].encolar(nuevo);
}
else if(edad>=36&&edad<=50){
separar[4].encolar(nuevo);
}
else if(edad>=51){
separar[5].encolar(nuevo);
}
}
for(i=0; i<6;i++){
if(i==0&&!separar[0].esVacia()){
System.out.println(" Fila de Infante [0-6]");
System.out.println(" *********************");
}
else if(i==1&&!separar[1].esVacia()){
System.out.println(" Fila de Niños [7-14]");
System.out.println(" ********************");
}
else if(i==2&&!separar[2].esVacia()){
System.out.println(" Fila de Adolescentes [15-18]");
System.out.println(" ****************************");
}
else if(i==3&&!separar[3].esVacia()){
System.out.println(" Fila de Jovenes [19-35]");
System.out.println(" ***********************");
}
else if(i==4&&!separar[4].esVacia()){
System.out.println(" Fila de Adultos [36-50]");
System.out.println(" ***********************");
}
else if(i==5&&!separar[5].esVacia()){
System.out.println(" Fila de Adultos Mayores [51]");
System.out.println(" ****************************");
}
separar[i].Mostrar();
System.out.println();
}
}
}
public void eliminarEntero(){
Cola<Integer> cola=new Cola();
int num,i;
System.out.print("¿Cuantos numeros ingresara? : ");
i=lec.nextInt();
for(int c=0;c<i;c++){
System.out.print("Numero ["+(c+1)+"]:");
num=lec.nextInt();
cola.encolar(num);
}
System.out.print("Ingrese el numero a eliminar: ");
num=lec.nextInt();
if(cola.esVacia())
System.out.println("La cola esta vacia");
else{
int c=0;
while(c<i){
int numero=cola.desencolar();
if(numero!=num)
cola.encolar(numero);
c++;
}
cola.Mostrar();
}
}
public void invertirNumero(){
Cola<Integer> cola=new Cola();
int num;
System.out.print("Ingrese numero: ");
num=lec.nextInt();
while(num!=0){
cola.encolar(num%10);
num=num/10;
}
String numero="";
while(!cola.esVacia()){
numero=numero+cola.desencolar();
}
num=Integer.parseInt(numero);
System.out.println("El numero invertido es: "+num);
}
public void elementosComunes(){
Cola<Integer> cola1=new Cola();
Cola<Integer> cola2=new Cola();
int i, num;
System.out.print("¿Cuantos numeros para la cola 1: ");
i=lec.nextInt();
for(int c=0;c<i;c++){
System.out.print("Numero ["+(c+1)+"]: ");
num=lec.nextInt();
cola1.encolar(num);
}
System.out.print("¿Cuantos numeros para la cola 2: ");
i=lec.nextInt();
for(int c=0;c<i;c++){
System.out.print("Numero ["+(c+1)+"]: ");
num=lec.nextInt();
cola2.encolar(num);
}
Cola<Integer> aux=new Cola();
while(!cola1.esVacia()){
num=cola1.desencolar();
int c=0;
while(c<i){
int num1=cola2.desencolar();
if(num==num1){
i--;
System.out.println(": "+num);
break;
}
cola2.encolar(num1);
c++;
}
}
}
public void UnirColas(){
Cola<Integer> cola=new Cola();
int i,num,c;
System.out.print("¿Cuantas colas ingresara?: ");
i=lec.nextInt();
Cola<Integer> colas[]=new Cola[i];
for(c=0;c<i;c++){
colas[c]=new Cola();
}
for(c=0;c<i;c++){
int o;
System.out.println(" COLA ["+(c+1)+"]");
System.out.println(" **********");
System.out.print("¿Cuantas datos ingresara?: ");
o=lec.nextInt();
for(int p=0;p<o;p++){
System.out.print("Numero ["+(p+1)+"]: ");
num=lec.nextInt();
colas[c].encolar(num);
}
}
for(c=0;c<i;c++){
while(!colas[c].esVacia()){
cola.encolar(colas[c].desencolar());
}
}
System.out.println(" COLA TOTAL ");
System.out.println(" ********** ");
cola.Mostrar();
}
public void ColaPrioridad(){
ColaPrioridad<Integer> cola= new ColaPrioridad();
int num,i;
double prioridad;
int op;
do{
System.out.println("[1] Encolar");
System.out.println("[2] Desencolar");
System.out.println("[3] Mostrar");
System.out.println("[4] <<REGRESAR");
do{
System.out.print("::: Ingrese Opcion: ");
op=lec.nextInt();
}while(op<1||op>4);
switch(op){
case 1:
System.out.print("¿Cuantos numeros desea ingresar?: ");
i=lec.nextInt();
for(int c=0;c<i;c++){
System.out.print(". Numero["+(c+1)+"]: ");
num=lec.nextInt();
System.out.print(". Prioridad: ");
prioridad=lec.nextDouble();
cola.encolarP(num, prioridad);
}
break;
case 2:
if(!cola.esVacia())
System.out.println("Se desencolo: "+cola.desencolar());
else
System.out.println("La cola esta vacia");
break;
case 3:
cola.Mostrar();
break;
}
}while(op!=4);
}
import java.util.Scanner;
public class EjerciciosCola {
Scanner lec=new Scanner(System.in);
public void Doncella(){
Cola<Doncella> cola=new Cola();
int i, talla;
String nombre;
System.out.print("Ingrese numero de doncellas: ");
i=lec.nextInt();
for(int c=0;c<i;c++){
System.out.print("Doncella "+(c+1)+": ");
lec.nextLine();
nombre=lec.nextLine();
System.out.print("Talla: ");
talla=lec.nextInt();
Doncella doncella=new Doncella(nombre,talla);
cola.encolar(doncella);
}
System.out.print("Ingrese la talla de Cenicienta: ");
talla=lec.nextInt();
boolean ver=true;
if(cola.esVacia()){
System.out.println("No ingreso a ninguna doncella");
}
else{
while(!cola.esVacia()&&ver==true){
Doncella cenicienta=cola.desencolar();
if(talla==cenicienta.getTalla()){
System.out.println(cenicienta);
ver=false;
}
}
if(ver)
System.out.println("Cenicienta no encontrada");
}
}
public void colaPersonas(){
Cola<Persona> cola= new Cola();
int i,edad;
String nombre;
System.out.print("Cuantas persona desea ingresar: ");
i=lec.nextInt();
for(int c=0;c<i;c++){
System.out.print(".Nombre: ");
lec.nextLine();
nombre=lec.nextLine();
System.out.print(".Edad: ");
edad=lec.nextInt();
Persona persona=new Persona(nombre, edad);
cola.encolar(persona);
}
// 1: Infantes[0-6] || 2: Niños[7-14] || 3: Adolescentes[15-18]
// 4: Jovenes[19-35]|| 5: Adultos[36-50] || 6: Adultos Mayores[51]
if(cola.esVacia())
System.out.println("La cola esta vacia");
else{
Cola<Persona> separar[]=new Cola[6];
i=0;
while(i<6){
separar[i]=new Cola();
i++;
}
while(!cola.esVacia()){
Persona nuevo= cola.desencolar();
edad=nuevo.getEdad();
if(edad>=0&&edad<=6){
separar[0].encolar(nuevo);
}
else if(edad>=7&&edad<=14){
separar[1].encolar(nuevo);
}
else if(edad>=15&&edad<=18){
separar[2].encolar(nuevo);
}
else if(edad>=19&&edad<=35){
separar[3].encolar(nuevo);
}
else if(edad>=36&&edad<=50){
separar[4].encolar(nuevo);
}
else if(edad>=51){
separar[5].encolar(nuevo);
}
}
for(i=0; i<6;i++){
if(i==0&&!separar[0].esVacia()){
System.out.println(" Fila de Infante [0-6]");
System.out.println(" *********************");
}
else if(i==1&&!separar[1].esVacia()){
System.out.println(" Fila de Niños [7-14]");
System.out.println(" ********************");
}
else if(i==2&&!separar[2].esVacia()){
System.out.println(" Fila de Adolescentes [15-18]");
System.out.println(" ****************************");
}
else if(i==3&&!separar[3].esVacia()){
System.out.println(" Fila de Jovenes [19-35]");
System.out.println(" ***********************");
}
else if(i==4&&!separar[4].esVacia()){
System.out.println(" Fila de Adultos [36-50]");
System.out.println(" ***********************");
}
else if(i==5&&!separar[5].esVacia()){
System.out.println(" Fila de Adultos Mayores [51]");
System.out.println(" ****************************");
}
separar[i].Mostrar();
System.out.println();
}
}
}
public void eliminarEntero(){
Cola<Integer> cola=new Cola();
int num,i;
System.out.print("¿Cuantos numeros ingresara? : ");
i=lec.nextInt();
for(int c=0;c<i;c++){
System.out.print("Numero ["+(c+1)+"]:");
num=lec.nextInt();
cola.encolar(num);
}
System.out.print("Ingrese el numero a eliminar: ");
num=lec.nextInt();
if(cola.esVacia())
System.out.println("La cola esta vacia");
else{
int c=0;
while(c<i){
int numero=cola.desencolar();
if(numero!=num)
cola.encolar(numero);
c++;
}
cola.Mostrar();
}
}
public void invertirNumero(){
Cola<Integer> cola=new Cola();
int num;
System.out.print("Ingrese numero: ");
num=lec.nextInt();
while(num!=0){
cola.encolar(num%10);
num=num/10;
}
String numero="";
while(!cola.esVacia()){
numero=numero+cola.desencolar();
}
num=Integer.parseInt(numero);
System.out.println("El numero invertido es: "+num);
}
public void elementosComunes(){
Cola<Integer> cola1=new Cola();
Cola<Integer> cola2=new Cola();
int i, num;
System.out.print("¿Cuantos numeros para la cola 1: ");
i=lec.nextInt();
for(int c=0;c<i;c++){
System.out.print("Numero ["+(c+1)+"]: ");
num=lec.nextInt();
cola1.encolar(num);
}
System.out.print("¿Cuantos numeros para la cola 2: ");
i=lec.nextInt();
for(int c=0;c<i;c++){
System.out.print("Numero ["+(c+1)+"]: ");
num=lec.nextInt();
cola2.encolar(num);
}
Cola<Integer> aux=new Cola();
while(!cola1.esVacia()){
num=cola1.desencolar();
int c=0;
while(c<i){
int num1=cola2.desencolar();
if(num==num1){
i--;
System.out.println(": "+num);
break;
}
cola2.encolar(num1);
c++;
}
}
}
public void UnirColas(){
Cola<Integer> cola=new Cola();
int i,num,c;
System.out.print("¿Cuantas colas ingresara?: ");
i=lec.nextInt();
Cola<Integer> colas[]=new Cola[i];
for(c=0;c<i;c++){
colas[c]=new Cola();
}
for(c=0;c<i;c++){
int o;
System.out.println(" COLA ["+(c+1)+"]");
System.out.println(" **********");
System.out.print("¿Cuantas datos ingresara?: ");
o=lec.nextInt();
for(int p=0;p<o;p++){
System.out.print("Numero ["+(p+1)+"]: ");
num=lec.nextInt();
colas[c].encolar(num);
}
}
for(c=0;c<i;c++){
while(!colas[c].esVacia()){
cola.encolar(colas[c].desencolar());
}
}
System.out.println(" COLA TOTAL ");
System.out.println(" ********** ");
cola.Mostrar();
}
public void ColaPrioridad(){
ColaPrioridad<Integer> cola= new ColaPrioridad();
int num,i;
double prioridad;
int op;
do{
System.out.println("[1] Encolar");
System.out.println("[2] Desencolar");
System.out.println("[3] Mostrar");
System.out.println("[4] <<REGRESAR");
do{
System.out.print("::: Ingrese Opcion: ");
op=lec.nextInt();
}while(op<1||op>4);
switch(op){
case 1:
System.out.print("¿Cuantos numeros desea ingresar?: ");
i=lec.nextInt();
for(int c=0;c<i;c++){
System.out.print(". Numero["+(c+1)+"]: ");
num=lec.nextInt();
System.out.print(". Prioridad: ");
prioridad=lec.nextDouble();
cola.encolarP(num, prioridad);
}
break;
case 2:
if(!cola.esVacia())
System.out.println("Se desencolo: "+cola.desencolar());
else
System.out.println("La cola esta vacia");
break;
case 3:
cola.Mostrar();
break;
}
}while(op!=4);
}
}
Crear una 2 colas para luego comparar los elemtos comunes
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
Cola<Integer> cola1=new Cola();
Cola<Integer> cola2=new Cola();
System.out.println("Ingrese total elementos para primera cola");
int total=sc.nextInt();
System.out.println("INGRESE ELEMENTOS PARA PRIMERA COLA");
for(int i=0;i<total;i++){
System.out.println("Elmento ["+(i+1)+"] : ");
int num=sc.nextInt();
cola1.encolar(num);
}
System.out.println("INGRESE ELEMENTOS PARA SEGUNDA COLA");
int d=sc.nextInt();
for(int i=0;i<d;i++){
System.out.println("Elemento ["+(1+i)+"] : ");
int numero=sc.nextInt();
cola2.encolar(numero);
}
int elemento1;
int elemento2;
int c ;
System.out.println("ELEMENTOS COMUNES");
while(!cola1.esVacia()){
elemento1=cola1.desencolar();
c = 0;
while(c<total){
elemento2=cola2.desencolar();
if(elemento1==elemento2){
total--;
System.out.println(";"+elemento1);break;
}
cola2.encolar(elemento2);
c++;
}
}
}
}
Scanner sc=new Scanner(System.in);
Cola<Integer> cola1=new Cola();
Cola<Integer> cola2=new Cola();
System.out.println("Ingrese total elementos para primera cola");
int total=sc.nextInt();
System.out.println("INGRESE ELEMENTOS PARA PRIMERA COLA");
for(int i=0;i<total;i++){
System.out.println("Elmento ["+(i+1)+"] : ");
int num=sc.nextInt();
cola1.encolar(num);
}
System.out.println("INGRESE ELEMENTOS PARA SEGUNDA COLA");
int d=sc.nextInt();
for(int i=0;i<d;i++){
System.out.println("Elemento ["+(1+i)+"] : ");
int numero=sc.nextInt();
cola2.encolar(numero);
}
int elemento1;
int elemento2;
int c ;
System.out.println("ELEMENTOS COMUNES");
while(!cola1.esVacia()){
elemento1=cola1.desencolar();
c = 0;
while(c<total){
elemento2=cola2.desencolar();
if(elemento1==elemento2){
total--;
System.out.println(";"+elemento1);break;
}
cola2.encolar(elemento2);
c++;
}
}
}
}
Elementos comunes
*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package Ejercicio7;
import Ejercicio1.Cola;
import java.util.Scanner;
/**
*
* @author l9531
*/
public class ElementosComunes {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
Cola<Integer> cola1=new Cola();
Cola<Integer> cola2=new Cola();
System.out.println("Ingrese total elementos para primera cola");
int total=sc.nextInt();
System.out.println("INGRESE ELEMENTOS PARA PRIMERA COLA");
for(int i=0;i<total;i++){
System.out.println("Elmento ["+(i+1)+"] : ");
int num=sc.nextInt();
cola1.encolar(num);
}
System.out.println("INGRESE ELEMENTOS PARA SEGUNDA COLA");
for(int i=0;i<total;i++){
System.out.println("Elemento ["+(1+i)+"] : ");
int numero=sc.nextInt();
cola2.encolar(numero);
}
int elemento1;
int elemento2;
System.out.println("ELEMENTOS COMUNES");
for(int i=0;!cola1.esVacia();i++){
elemento1=cola1.desencolar();
for(int j=0;!cola2.esVacia();j++){
elemento2=cola2.desencolar();
if(elemento1==elemento2){
System.out.println(elemento1);
}
}
}
System.out.println(" ");
}
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package Ejercicio7;
import Ejercicio1.Cola;
import java.util.Scanner;
/**
*
* @author l9531
*/
public class ElementosComunes {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
Cola<Integer> cola1=new Cola();
Cola<Integer> cola2=new Cola();
System.out.println("Ingrese total elementos para primera cola");
int total=sc.nextInt();
System.out.println("INGRESE ELEMENTOS PARA PRIMERA COLA");
for(int i=0;i<total;i++){
System.out.println("Elmento ["+(i+1)+"] : ");
int num=sc.nextInt();
cola1.encolar(num);
}
System.out.println("INGRESE ELEMENTOS PARA SEGUNDA COLA");
for(int i=0;i<total;i++){
System.out.println("Elemento ["+(1+i)+"] : ");
int numero=sc.nextInt();
cola2.encolar(numero);
}
int elemento1;
int elemento2;
System.out.println("ELEMENTOS COMUNES");
for(int i=0;!cola1.esVacia();i++){
elemento1=cola1.desencolar();
for(int j=0;!cola2.esVacia();j++){
elemento2=cola2.desencolar();
if(elemento1==elemento2){
System.out.println(elemento1);
}
}
}
System.out.println(" ");
}
}
Invertir cola
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package Ejercicio5;
import Ejercicio1.Cola;
import java.util.Scanner;
public class InvertirCola {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
Cola<Integer> cola=new Cola();
System.out.println("Ingrese cantidad de datos ");
int can=sc.nextInt();
for(int i=0;i<can;i++){
System.out.println("Ingrese dato ["+1+i+"] fdg");
int a=sc.nextInt();
cola.encolar(a);
}
int a;
System.out.println("Colas invertidas");
while(!cola.esVacia()){
a=cola.desencolar();
System.out.println(a);
}
}
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package Ejercicio5;
import Ejercicio1.Cola;
import java.util.Scanner;
public class InvertirCola {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
Cola<Integer> cola=new Cola();
System.out.println("Ingrese cantidad de datos ");
int can=sc.nextInt();
for(int i=0;i<can;i++){
System.out.println("Ingrese dato ["+1+i+"] fdg");
int a=sc.nextInt();
cola.encolar(a);
}
int a;
System.out.println("Colas invertidas");
while(!cola.esVacia()){
a=cola.desencolar();
System.out.println(a);
}
}
}
Invertir numero en una cola
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package Ejercicio4;
import Ejercicio1.Cola;
import java.util.Scanner;
/**
*
* @author l9531
*/
public class Invertir {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
Cola<Integer> cola=new Cola();
System.out.println("Ingrese numero");
int numero=sc.nextInt();
int con=numero;
while(numero!=0){
cola.encolar(numero%10);
numero=numero/10;
}
System.out.println("numero palindrome ");
while(con!=0){
int c=cola.desencolar();
System.out.println(c);
numero=numero/10;
}
}
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package Ejercicio4;
import Ejercicio1.Cola;
import java.util.Scanner;
/**
*
* @author l9531
*/
public class Invertir {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
Cola<Integer> cola=new Cola();
System.out.println("Ingrese numero");
int numero=sc.nextInt();
int con=numero;
while(numero!=0){
cola.encolar(numero%10);
numero=numero/10;
}
System.out.println("numero palindrome ");
while(con!=0){
int c=cola.desencolar();
System.out.println(c);
numero=numero/10;
}
}
}
Crear una cola donde se pueda ingresar un numero y el palindrome
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package Ejercicio4;
import Ejercicio1.Cola;
import java.util.Scanner;
/**
*
* @author l9531
*/
public class Invertir {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
Cola<Integer> cola=new Cola();
System.out.println("Ingrese numero");
int numero=sc.nextInt();
int con=numero;
while(numero!=0){
cola.encolar(numero%10);
numero=numero/10;
}
System.out.println("numero palindrome ");
while(con!=0){
int c=cola.desencolar();
System.out.println(c);
numero=numero/10;
}
}
}
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package Ejercicio4;
import Ejercicio1.Cola;
import java.util.Scanner;
/**
*
* @author l9531
*/
public class Invertir {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
Cola<Integer> cola=new Cola();
System.out.println("Ingrese numero");
int numero=sc.nextInt();
int con=numero;
while(numero!=0){
cola.encolar(numero%10);
numero=numero/10;
}
System.out.println("numero palindrome ");
while(con!=0){
int c=cola.desencolar();
System.out.println(c);
numero=numero/10;
}
}
}
Todas las doncellas del reino hacen cola para probarse el zapato de la cenicienta. Si la talla es x diga ¿Quién es la cenicienta?
*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package Ejercicio1;
import java.util.Scanner;
/**
*
* @author INGENIERIA
*/
public class ProyectoColas {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
Cola<Doncella> cola=new Cola();
Doncella doncella;
String nombre;
boolean encontrado=false;
int talla;
int x=0;
int da;
System.out.print("Ingrese numero de doncellas");
int num=sc.nextInt();
while(x<num){
System.out.print("Nombre");
nombre=sc.next();
System.out.println("Talla");
talla=sc.nextInt();
doncella=new Doncella(nombre, talla);
cola.encolar(doncella);
x++;
}
String no = "";
System.out.println("Ingrese talla a buscar");
talla=sc.nextInt();
while(!cola.esVacia() && !encontrado){
doncella=cola.desencolar();
if(doncella.getTalla()==talla){
no=doncella.getNombre();
encontrado=true;
}
}
if(encontrado){
System.out.println("La doncella es "+no);
}else{
System.out.println("No se encontro la doncella");
}
}
}
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package Ejercicio1;
import java.util.Scanner;
/**
*
* @author INGENIERIA
*/
public class ProyectoColas {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
Cola<Doncella> cola=new Cola();
Doncella doncella;
String nombre;
boolean encontrado=false;
int talla;
int x=0;
int da;
System.out.print("Ingrese numero de doncellas");
int num=sc.nextInt();
while(x<num){
System.out.print("Nombre");
nombre=sc.next();
System.out.println("Talla");
talla=sc.nextInt();
doncella=new Doncella(nombre, talla);
cola.encolar(doncella);
x++;
}
String no = "";
System.out.println("Ingrese talla a buscar");
talla=sc.nextInt();
while(!cola.esVacia() && !encontrado){
doncella=cola.desencolar();
if(doncella.getTalla()==talla){
no=doncella.getNombre();
encontrado=true;
}
}
if(encontrado){
System.out.println("La doncella es "+no);
}else{
System.out.println("No se encontro la doncella");
}
}
}
CLASE DONCELLA
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package Ejercicio1;
/**
*
* @author INGENIERIA
*/
public class Doncella {
private String nombre;
private int talla;
public Doncella(String nombre, int talla){
this.nombre=nombre;
this.talla=talla;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public int getTalla() {
return talla;
}
public void setTalla(int talla) {
this.talla = talla;
}
}
Crear una cola donde se pueda agregar, eliminar y mostra
Nodo Generico
public class Nodo<T> {
private T info;
private Nodo siguiente;
public Nodo(T info) {
this.info = info;
siguiente = null;
}
public Nodo(T info, Nodo<T> siguiente) {
this.info = info;
this.siguiente = siguiente;
}
public T getInfo() {
return info;
}
public void setInfo(T info) {
this.info = info;
}
public Nodo getSiguiente() {
return siguiente;
}
public void setSiguiente(Nodo<T> siguiente) {
this.siguiente = siguiente;
}
}
Clase
Cola Generica
public class Cola<T> {
private Nodo<T> primero;
private Nodo<T> ultimo;
public Cola() {
primero = null;
ultimo = null;
}
public void encolar(T x) {
Nodo<T> nuevo = new Nodo(x, null);
if (primero == null) {
primero = nuevo;
} else {
ultimo.setSiguiente(nuevo);
}
ultimo = nuevo;
}
public T desencolar() {
T x;
Nodo<T> temp;
x = primero.getInfo();
temp = primero;
primero = primero.getSiguiente();
temp = null;
if (primero == null) {
ultimo = null;
}
return x;
}
public void mostrar() {
Nodo<T> p = primero;
while (p != null) {
System.out.println(p.getInfo());
p = p.getSiguiente();
}
}
public boolean esVacia() {
if (primero == null) {
return true;
} else {
return false;
}
}
}
Programa
que usa la cola:
import java.util.Scanner;
public class ProyectoColasGenericas {
public static void main(String[] args) {
int op, x;
Scanner entrada = new Scanner(System.in);
Cola<Integer> cola = new Cola();
do {
System.out.println("Menu Colas");
System.out.println("[1] Encolar");
System.out.println("[2] Desencolar");
System.out.println("[3] Mostrar");
System.out.println("[4] Salir");
System.out.print("Ingrese opcion : ");
op = entrada.nextInt();
switch (op) {
case 1:
System.out.print(" Ingrese numero : ");
x = entrada.nextInt();
cola.encolar(x);
break;
case 2:
if (!cola.esVacia()) {
x = cola.desencolar();
System.out.println("Dato desencolado : " + x);
} else {
System.out.println("Lac cola esta vacia");
}
break;
case 3:
System.out.println(" Datos de la cola");
cola.mostrar();
break;
}
} while (op != 4);
}
}
public class Nodo<T> {
private T info;
private Nodo siguiente;
public Nodo(T info) {
this.info = info;
siguiente = null;
}
public Nodo(T info, Nodo<T> siguiente) {
this.info = info;
this.siguiente = siguiente;
}
public T getInfo() {
return info;
}
public void setInfo(T info) {
this.info = info;
}
public Nodo getSiguiente() {
return siguiente;
}
public void setSiguiente(Nodo<T> siguiente) {
this.siguiente = siguiente;
}
}
Clase
Cola Generica
public class Cola<T> {
private Nodo<T> primero;
private Nodo<T> ultimo;
public Cola() {
primero = null;
ultimo = null;
}
public void encolar(T x) {
Nodo<T> nuevo = new Nodo(x, null);
if (primero == null) {
primero = nuevo;
} else {
ultimo.setSiguiente(nuevo);
}
ultimo = nuevo;
}
public T desencolar() {
T x;
Nodo<T> temp;
x = primero.getInfo();
temp = primero;
primero = primero.getSiguiente();
temp = null;
if (primero == null) {
ultimo = null;
}
return x;
}
public void mostrar() {
Nodo<T> p = primero;
while (p != null) {
System.out.println(p.getInfo());
p = p.getSiguiente();
}
}
public boolean esVacia() {
if (primero == null) {
return true;
} else {
return false;
}
}
}
Programa
que usa la cola:
import java.util.Scanner;
public class ProyectoColasGenericas {
public static void main(String[] args) {
int op, x;
Scanner entrada = new Scanner(System.in);
Cola<Integer> cola = new Cola();
do {
System.out.println("Menu Colas");
System.out.println("[1] Encolar");
System.out.println("[2] Desencolar");
System.out.println("[3] Mostrar");
System.out.println("[4] Salir");
System.out.print("Ingrese opcion : ");
op = entrada.nextInt();
switch (op) {
case 1:
System.out.print(" Ingrese numero : ");
x = entrada.nextInt();
cola.encolar(x);
break;
case 2:
if (!cola.esVacia()) {
x = cola.desencolar();
System.out.println("Dato desencolado : " + x);
} else {
System.out.println("Lac cola esta vacia");
}
break;
case 3:
System.out.println(" Datos de la cola");
cola.mostrar();
break;
}
} while (op != 4);
}
}
modificar, eliminar , agregar y mostrar en una pila
package proyectopilas;
public class Nodo<T> {
private T info;
private Nodo siguiente;
public Nodo(T info) {
this.info = info;
siguiente = null;
}
public Nodo(T info, Nodo<T> siguiente) {
this.info = info;
this.siguiente = siguiente;
}
public T getInfo() {
return info;
}
public void setInfo(T info) {
this.info = info;
}
public Nodo getSiguiente() {
return siguiente;
}
public void setSiguiente(Nodo<T> siguiente) {
this.siguiente = siguiente;
}
}
package proyectopilas;
public class Pila<T> {
private Nodo<T> primero;
public Pila() {
primero = null;
}
public void push(T x) {
Nodo<T> nuevo = new Nodo(x);
nuevo.setSiguiente(nuevo);
primero = nuevo;
}
public T pop() {
T x;
Nodo<T> temp;
x = primero.getInfo();
temp = primero;
primero = primero.getSiguiente();
temp = null;
return x;
}
public boolean esVacia() {
return primero == null;
}
public void mostrar() {
Nodo<T> p = primero;
while (p != null) {
System.out.println(p.getInfo());
p = p.getSiguiente();
}
}
}
package proyectopilas;
import java.util.Scanner;
public class ProyectoPilas {
public static void main(String[] args) {
// TODO code application logic here
int op, x;
Scanner entrada = new Scanner(System.in);
Pila<Integer> pila = new Pila();
do {
System.out.println("Menu Pilas");
System.out.println("[1] Agregar");
System.out.println("[2] Quitar");
System.out.println("[3] Mostrar");
System.out.println("[4] Salir");
System.out.print("Ingrese opcion : ");
op = entrada.nextInt();
switch (op) {
case 1:
System.out.print(" Ingrese numero : ");
x = entrada.nextInt();
pila.push(x);
break;
case 2:
if (!pila.esVacia()) {
x = pila.pop();
System.out.println("Dato desenpilado : " + x);
} else {
System.out.println("Lac pila esta vacia");
}
break;
case 3:
System.out.println(" Datos de la pila");
pila.mostrar();
break;
}
} while (op != 4);
}
}
public class Nodo<T> {
private T info;
private Nodo siguiente;
public Nodo(T info) {
this.info = info;
siguiente = null;
}
public Nodo(T info, Nodo<T> siguiente) {
this.info = info;
this.siguiente = siguiente;
}
public T getInfo() {
return info;
}
public void setInfo(T info) {
this.info = info;
}
public Nodo getSiguiente() {
return siguiente;
}
public void setSiguiente(Nodo<T> siguiente) {
this.siguiente = siguiente;
}
}
package proyectopilas;
public class Pila<T> {
private Nodo<T> primero;
public Pila() {
primero = null;
}
public void push(T x) {
Nodo<T> nuevo = new Nodo(x);
nuevo.setSiguiente(nuevo);
primero = nuevo;
}
public T pop() {
T x;
Nodo<T> temp;
x = primero.getInfo();
temp = primero;
primero = primero.getSiguiente();
temp = null;
return x;
}
public boolean esVacia() {
return primero == null;
}
public void mostrar() {
Nodo<T> p = primero;
while (p != null) {
System.out.println(p.getInfo());
p = p.getSiguiente();
}
}
}
package proyectopilas;
import java.util.Scanner;
public class ProyectoPilas {
public static void main(String[] args) {
// TODO code application logic here
int op, x;
Scanner entrada = new Scanner(System.in);
Pila<Integer> pila = new Pila();
do {
System.out.println("Menu Pilas");
System.out.println("[1] Agregar");
System.out.println("[2] Quitar");
System.out.println("[3] Mostrar");
System.out.println("[4] Salir");
System.out.print("Ingrese opcion : ");
op = entrada.nextInt();
switch (op) {
case 1:
System.out.print(" Ingrese numero : ");
x = entrada.nextInt();
pila.push(x);
break;
case 2:
if (!pila.esVacia()) {
x = pila.pop();
System.out.println("Dato desenpilado : " + x);
} else {
System.out.println("Lac pila esta vacia");
}
break;
case 3:
System.out.println(" Datos de la pila");
pila.mostrar();
break;
}
} while (op != 4);
}
}
Crear una lista simple para agregar elementos
public class Nodo {
private double info;
private Nodo siguiente;
public Nodo() {
siguiente = null;
}
public Nodo(double x) {
siguiente = null;
info = x;
}
public Nodo(double x, Nodo siguiente) {
info = x;
this.siguiente = siguiente;
}
public double getInfo() {
return info;
}
public void setInfo(double info) {
this.info = info;
}
public Nodo getSiguiente() {
return siguiente;
}
public void setSiguiente(Nodo siguiente) {
this.siguiente = siguiente;
}
}
public class ListaEnlazada {
protected Nodo primero;
public ListaEnlazada() {
primero = null;
}
public Nodo getPrimero() {
return primero;
}
public void setPrimero(Nodo primero) {
this.primero = primero;
}
public void insertarAlInicio(double x) {
Nodo nuevo = new Nodo(x);
nuevo.setSiguiente(primero);
primero = nuevo;
}
public void insertaAlFinal(double x) {
Nodo nuevo = new Nodo(x);
Nodo p;
if (primero == null) {
primero = nuevo;
} else {
p = primero;
while (p.getSiguiente() != null) {
p = p.getSiguiente();
}
p.setSiguiente(nuevo);
}
}
public void mostrar() {
Nodo p = primero;
while (p != null) {
System.out.println(p.getInfo());//mostramos el dato
p = p.getSiguiente();
}
}
public String toString() {
String contenido = "";
Nodo p = primero;
while (p != null) {
contenido += p.getInfo() + "\n"; //guardamos el dato
p = p.getSiguiente();
}
return contenido;
}
}
public class ProyectoListasEnlazadas {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
ListaEnlazada lista = new ListaEnlazada();
int i, n;
double x;
System.out.print("Numero de elementos de la lista : ");
n = entrada.nextInt();
for (i = 0; i < n; i++) {
System.out.print(" Ingrese numero : ");
x = entrada.nextDouble();
lista.insertaAlFinal(x);
}
lista.mostrar();
}
}
Otro ejemplo
import java.io.*;
public class Producto {
private String codigo;
private String descripcion;
private double precio;
private int stock;
public Producto() {
setCodigo(null);
setDescripcion(null);
setPrecio(0);
setStock(0);
}
public Producto(String codigo, String descripcion, double precio, int stock) {
this.setCodigo(codigo);
this.setDescripcion(descripcion);
this.setPrecio(precio);
this.setStock(stock);
}
public String getCodigo() {
return codigo;
}
public void setCodigo(String codigo) {
this.codigo = codigo;
}
public String getDescripcion() {
return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public double getPrecio() {
return precio;
}
public void setPrecio(double precio) {
this.precio = precio;
}
public int getStock() {
return stock;
}
public void setStock(int stock) {
this.stock = stock;
}
public void escribir(RandomAccessFile archivo) throws IOException {
if (codigo.length() < 10) {
for (int i = codigo.length(); i < 10; i++) {
codigo = codigo + " ";
}
} else {
codigo = codigo.substring(0, 10);
}
if (descripcion.length() < 50) {
for (int i = descripcion.length(); i < 50; i++) {
descripcion = descripcion + " ";
}
} else {
descripcion = descripcion.substring(0, 50);
}
archivo.writeChars(codigo);
archivo.writeChars(descripcion);
archivo.writeDouble(precio);
archivo.writeInt(stock);
}
public void leer(RandomAccessFile archivo) throws IOException {
codigo = "";
for (int i = 0; i < 10; ++i) {
codigo += archivo.readChar();
}
descripcion = "";
for (int i = 0; i < 50; ++i) {
descripcion += archivo.readChar();
}
precio = archivo.readDouble();
stock = archivo.readInt();
}
public int tamañoRegistro() {
return 132;
}
public static void crearArchivoProductos() {
File f = new File("d:\\productos.dat");
if (!f.exists()) {
try {
RandomAccessFile fProductos = new RandomAccessFile("d:\\productos.dat", "rw");
fProductos.close();
} catch (Exception ex) {
}
}
}
public Producto buscarProducto(String codigo) throws IOException {
RandomAccessFile fProductos = new RandomAccessFile("d:\\productos.dat", "r");
// seek(# de Bytes a recorrer)
fProductos.seek(0);
boolean exito = false;
// fproductos.getFilePointer(): Devuelve el numero de bytes
// que ha recorrido el puntero del archivo
// En otras me devuelve la posicion actual del puntero
while (fProductos.getFilePointer() < fProductos.length()) {
this.leer(fProductos);
// trim() : Funcion de cadena que elimina los espacios en blanco
// compareToIgnoreCase(cadena) : no distingue mayusculas y minusculas
if (this.codigo.trim().compareToIgnoreCase(codigo.trim()) == 0) {
exito = true;
break;
}
}
fProductos.close();
if (exito) {
return this;
} else {
return null;
}
}
public int buscarProducto1(String codigo) throws IOException {
RandomAccessFile fProductos = new RandomAccessFile("d:\\productos.dat", "r");
int pos, x = -1;
fProductos.seek(0);
pos = (int) fProductos.getFilePointer();
while (fProductos.getFilePointer() < fProductos.length()) {
this.leer(fProductos);
if (this.codigo.trim().compareToIgnoreCase(codigo.trim()) == 0) {
x = pos;
break;
}
pos = (int) fProductos.getFilePointer();
}
fProductos.close();
return x;
}
public Producto devolverProducto(int pos) throws IOException {
RandomAccessFile fProductos = new RandomAccessFile("d:\\productos.dat", "rw");
fProductos.seek(pos);
this.leer(fProductos);
fProductos.close();
return this;
}
public void modificaRegistro(int pos, String codigo, String descripcion, double precio, int stock) throws IOException {
RandomAccessFile fProductos = new RandomAccessFile("d:\\productos.dat", "rw");
fProductos.seek(pos);
this.codigo = codigo;
this.descripcion = descripcion;
this.precio = precio;
this.stock = stock;
this.escribir(fProductos);
fProductos.close();
}
public void agregar() throws IOException {
RandomAccessFile fProductos = new RandomAccessFile("d:\\productos.dat", "rw");
// fproductos.seek : direccion el puntero del archivo en un determinado registro
// de acuerdo un numero de bytes
fProductos.seek(fProductos.length());
// fProductos.length : Me devuelve el tamaño en bytes del Archivo
this.escribir(fProductos);
fProductos.close();
}
public boolean eliminaRegistro(String codigo) throws IOException {
RandomAccessFile fProductos = new RandomAccessFile("d:\\productos.dat", "r");
RandomAccessFile auxiliar = new RandomAccessFile("d:\\auxiliar.dat", "rw");
fProductos.seek(0);
boolean exito = false;
while (fProductos.getFilePointer() < fProductos.length()) {
this.leer(fProductos);
if (this.codigo.trim().compareToIgnoreCase(codigo.trim()) != 0) {
this.escribir(auxiliar);
} else {
exito = true;
}
}
fProductos.close();
auxiliar.close();
File archivo = new File("d:\\productos.dat");
archivo.delete();
File archivoaux = new File("d:\\auxiliar.dat");
archivoaux.renameTo(archivo);
return exito;
}
public int numeroDeRegistros() throws IOException {
RandomAccessFile fProductos = new RandomAccessFile("d:\\productos.dat", "r");
int n = (int) fProductos.length() / this.tamañoRegistro();
fProductos.close();
return n;
}
public String toString() {
return codigo.trim() + " " + descripcion.trim() + " " + precio + " " + stock;
}
public void imprimir() throws IOException {
RandomAccessFile fProductos = new RandomAccessFile("d:\\productos.dat", "r");
// seek(# de Bytes a recorrer)
fProductos.seek(0);
while (fProductos.getFilePointer() < fProductos.length()) {
this.leer(fProductos);
System.out.println(this);
}
fProductos.close();
}
}
import java.io.*;
class ArchivoAleatorio {
public static void main(String args[]) throws IOException {
// se llama crearArchivoProductos porque es estatico
Producto.crearArchivoProductos();
new Producto("001", "alfa", 12.5, 10).agregar();
new Producto("002", "beta", 13.9, 10).agregar();
Producto prod = new Producto();
if (prod.buscarProducto("001") != null) {
System.out.println("El codigo existe");
} else {
System.out.println("El codigo no existe");
}
prod.imprimir();
}
}
Programa para convertir un numero de base 10 a base b (entre 2 y 9)
import java.util.*;
class recursividad06 {
public static void conversionBase(int n, int b) {
if (n < b) {
System.out.print(n);
} else {
conversionBase(n / b, b);
System.out.print(n % b);
}
}
public static void main(String args[]) throws IOException {
Scanner in = new Scanner(System.in);
int num, b;
do {
System.out.print("Ingrese numero :");
num = Integer.parseInt(br.readLine());
} while (num <= 0);
do {
System.out.print("Base a la que quiere convertir : ");
b = Integer.parseInt(br.readLine());
} while (b < 2 || b > 9);
System.out.print("El numero " + num + " en base " + b + " es : ");
conversionBase(num, b);
System.out.println();
}
}
Programa para reportar un numero al reves
import java.util.Scanner;
class recursividad05 {
public static void reves(int n) {
System.out.print(n % 10);
if (n / 10 != 0) {
reves(n / 10);
}
}
public static void main(String args[]) throws IOException {
Scanner in = new Scanner(System.in);
int num;
do {
System.out.print("Ingrese numero :");
num = in.nextInt();
} while (num <= 0);
System.out.print("Numero al reves :");
reves(num);
System.out.println();
}
}
Programa para calcular el máximo común divisor de dos números.
import java.util.Scanner;
class Recursividad04 {
public static int mcd(int a, int b) {
if (a % b == 0) {
return b;
} else {
return mcd(b, a % b);
}
}
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
int x, y;
do {
System.out.print("Ingrese primer numero :");
x = in.nextInt();
} while (x <= 0);
do {
System.out.print("Ingrese segundo numero :");
y = in.nextInt();
} while (y <= 0);
System.out.println("El mcd de " + x + " y " + y + " es : " + mcd(x, y));
}
}
Hacer un programa para que reporte los n términos de la serie de Fibonacci
import java.util.Scanner;
class Recursividad03 {
public static int fibonacci(int n) {
if (n == 1) {
return 1;
} else if (n == 2) {
return 1;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
int n, i;
do {
System.out.print("Número de terminos de la serie : ");
n = in.nextInt();
} while (n <= 0);
for (i = 1; i <= n; i++) {
System.out.print(fibonacci(i) + " ");
}
System.out.println();
}
}
Calcular la potencia de x elevado a la n en forma recursiva. x real y n entero positivo
import java.util.Scanner;
class Recursividad02 {
public static double potencia(double x, double n) {
if (n == 0) {
return 1;
} else {
return x * potencia(x, n - 1);
}
}
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
int n;
double x;
System.out.print("Valor de x :");
x = in.nextDouble();
do {
System.out.print("valor de n : ");
n = in.nextInt();
} while (n <= 0);
System.out.println(x + " elevado a la " + n + " es igual a " + potencia(x, n));
}
}
Hacer un programa para calcular el factorial de un número en netbeans
import java.util.Scanner;
class Recursividad01 {
public static int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
int num;
do {
System.out.print("Ingrese numero :");
num = in.nextInt();
} while (num <= 0);
System.out.println("El factorial es : " + factorial(num));
}
}
class Recursividad01 {
public static int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
int num;
do {
System.out.print("Ingrese numero :");
num = in.nextInt();
} while (num <= 0);
System.out.println("El factorial es : " + factorial(num));
}
}
Crear una lista enlazada donde se pueda ingresar , mostrar, ingresar al final, borrar , mayor de la lista y menor
package proyectolistasenlazadas;
import java.util.Scanner;
public class ProyectoListasEnlazadas {
public static Scanner sc = new Scanner(System.in);
public static ListaEnLazada miLista = new ListaEnLazada();
public static void main(String[] args) {
int op = 0;
do {
System.out.println("menu de opciones");
System.out.println("[1] Ingresar elementos a las lista");
System.out.println("[2] Mostrar lista");
System.out.println("[3] Ingrese Elemento Al final");
System.out.println("[4] Borrar numero del inicio");
System.out.println("[5] Mayor numero");
System.out.println("[6] Menor numero");
System.out.println("[7] Promedio");
System.out.println("[8] Ordenar Acendente ");
System.out.println("[9] Eliminar por posicion");
System.out.println("[10] Salir");
System.out.println("Ingrese opcion[1-10]");
op = sc.nextInt();
switch (op) {
case 1:
double x = 0;
System.out.println("numero de elementos de la lista");
int n = sc.nextInt();
for (int j = 0; j < n; j++) {
System.out.println("Ingrese numero::" + j);
x = sc.nextDouble();
miLista.insertarAlinicio(x);
}
break;
case 2:
System.out.println("Los numeros ingresados son::");
miLista.mostrar();
break;
case 3:
double e;
System.out.println("numero de elementos de la lista");
int r = sc.nextInt();
for (int i = 0; i < r; i++) {
System.out.println("Ingrese numer::" + i);
e = sc.nextDouble();
miLista.insertarAlFinal(e);
}
break;
case 4:
System.out.println("Borrando numero del inicio");
miLista.borrarPrimero();
break;
case 5:
miLista.mayor();
break;
case 6:
miLista.menor();break;
case 7:
System.out.println("Promedio ");
miLista.promedio();
break;
case 8:
System.out.println("ORDENAMIENTO ACENDENTE");
miLista.ordenarAcendente();
miLista.mostrar();
break;
case 9:
System.out.println("Ingrese Numero a eliminar ");
double numero=sc.nextDouble();
if(miLista.buscarPosicion(numero)!=-1){
int p=miLista.buscarPosicion(numero);
miLista.borrar(p);
System.out.println("numero eliminado");
}else{
System.out.println("Nuemro no encontrado ");
}
break;
default:
System.out.println("Saliendo del programa ");
}
} while (op != 10);
}
}
package proyectolistasenlazadas;
public class ListaEnLazada {
protected Nodo primero;
private int tamaño = 0;
public int getTamaño() {
return tamaño;
}
public void setTamaño(int tamaño) {
this.tamaño = tamaño;
}
public ListaEnLazada() {
primero = null;
}
public Nodo getPrimero() {
return primero;
}
public void setPrimero(Nodo primero) {
this.primero = primero;
}
public boolean esVacio() {
return primero == null;
}
public void insertarAlinicio(double x) {
Nodo nuevo = new Nodo(x);
nuevo.setInfo(x);
if (esVacio()) {
primero = nuevo;
} else {
nuevo.setSiguiente(primero);
primero = nuevo;
}
tamaño++;
}
public void insertarAlFinal(double x) {
Nodo nuevo = new Nodo(x);
nuevo.setInfo(x);
if (esVacio()) {
primero = nuevo;
} else {
Nodo aux = primero;
while (aux.getSiguiente() != null) {
aux = aux.getSiguiente();
}
aux.setSiguiente(nuevo);
}
tamaño++;
}
public void mostrar() {
Nodo p = primero;
while (p != null) {
System.out.println("[" + p.getInfo() + "]");
p = p.getSiguiente();
}
}
public void borrarPrimero() {
primero = primero.getSiguiente();
}
public void mayor() {
Nodo a = primero;
double mayor = primero.getInfo();
while (a != null) {
if (a.getInfo() > mayor) {
mayor = a.getInfo();
}
a = a.getSiguiente();
}
System.out.println("El mayor es " + mayor);
}
public void menor() {
Nodo a = primero;
double menor = primero.getInfo();
while (a != null) {
if (a.getInfo() < menor) {
menor = a.getInfo();
}
a = a.getSiguiente();
}
System.out.println("El menor es " + menor);
}
public void promedio() {
Nodo a = primero;
double suma = 0;
int con = 0;
while (a != null) {
suma += a.getInfo();
con++;
a = a.getSiguiente();
}
double promedio = suma / con;
System.out.println("el promedio es" + promedio);
}
public int buscarPosicion(double x) {
Nodo a = primero;
int posi = -1;
int con = 0;
while (a != null) {
con++;
if (a.getInfo() == x) {
posi = con;
}
a = a.getSiguiente();
}
return posi;
}
public void borrar(int pos) {
if (pos >= 0 && pos < getTamaño()) {
if (pos == 0) {
primero = primero.getSiguiente();
} else {
Nodo aux = primero.getSiguiente();
for (int i = 0; i < getTamaño(); i++) {
aux = aux.getSiguiente();
}
Nodo siguiente = aux.getSiguiente();
aux.setSiguiente(siguiente.getSiguiente());
}
tamaño--;
}
}
public void ordenarAcendente() {
Nodo a=primero;
double aux;
while(a!=null){
Nodo siguiente=a.getSiguiente();
if(a.getInfo()>siguiente.getInfo()){
aux= a.getInfo();
a.setInfo(siguiente.getInfo());
siguiente.setInfo(a.getInfo());
}
a=a.getSiguiente();
}
}
}
NODO
package proyectolistasenlazadas;
/**
* Fecha: 15/05/2017
* Autor: Antonio Aburto Cortez
*/
public class Nodo {
private double info;
private Nodo siguiente;
public Nodo(){
siguiente=null;
}
public Nodo (double x){
siguiente=null;
info=x;
}
public Nodo(double x,Nodo siguiente){
info=x;
this.siguiente=siguiente;
}
public double getInfo() {
return info;
}
public void setInfo(double info) {
this.info = info;
}
public Nodo getSiguiente() {
return siguiente;
}
public void setSiguiente(Nodo siguiente) {
this.siguiente = siguiente;
}
public void VerNodo(){
System.out.println("["+info+"]");
}
}
Buscar este blog
Con tecnología de Blogger.
Blog Archive
- enero ( 4 )
- diciembre ( 33 )
- octubre ( 3 )
- septiembre ( 1 )