Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ListaGenerica {
- class Nodo {
- int info;
- Nodo ant, sig;
- }
- private Nodo raiz;
- public ListaGenerica() {//1. constructor
- raiz = null;
- }
- void insertarPrimero(int x) {//2.Insertar Primero
- Nodo nuevo = new Nodo();
- nuevo.info = x;
- if (raiz == null) {
- raiz = nuevo;
- } else {
- nuevo.sig = raiz;
- raiz.ant = nuevo;
- raiz = nuevo;
- }
- }
- void insertarDespues(int x) {//3.Insertar Despues.
- Nodo nuevo = new Nodo();
- nuevo.info = x;
- if (raiz == null) {
- raiz = nuevo;
- } else {
- Nodo reco = raiz;
- while (reco.sig != null) {
- reco = reco.sig;
- }
- reco.sig = nuevo;
- nuevo.ant = reco;
- }
- }
- void insertarCualquierPosicion(int pos, int x) {//Insertar cualquier poscicion
- if (pos <= contar() + 1) {
- Nodo nuevo = new Nodo();
- nuevo.info = x;
- if (pos == 1) {
- nuevo.sig = raiz;
- if (raiz != null) {
- raiz.ant = nuevo;
- }
- raiz = nuevo;
- } else if (pos == contar() + 1) {
- Nodo reco = raiz;
- while (reco.sig != null) {
- reco = reco.sig;
- }
- reco.sig = nuevo;
- nuevo.ant = reco;
- nuevo.sig = null;
- } else {
- Nodo reco = raiz;
- for (int f = 1; f <= pos - 2; f++) {
- reco = reco.sig;
- }
- Nodo siguiente = reco.sig;
- reco.sig = nuevo;
- nuevo.ant = reco;
- nuevo.sig = siguiente;
- siguiente.ant = nuevo;
- }
- }
- }
- public void BorrarAntes() {//5.Borrar antes
- if (raiz != null) {
- raiz = raiz.sig;
- if (raiz != null) {
- raiz.ant = null;
- }
- }
- }
- public void BorrarDespues() {
- if (raiz != null) {
- if (raiz.sig == null) {
- raiz = null;
- } else {
- Nodo reco = raiz;
- while (reco.sig != null) {
- reco = reco.sig;
- }
- reco = reco.ant;
- reco.sig = null;
- }
- }
- }
- public void borrarCualquier(int pos) {
- if (pos <= contar()) {
- if (pos == 1) {
- raiz = raiz.sig;
- if (raiz != null) {
- raiz.ant = null;
- }
- } else {
- Nodo reco;
- reco = raiz;
- for (int f = 1; f <= pos - 2; f++) {
- reco = reco.sig;
- }
- Nodo prox = reco.sig;
- prox = prox.sig;
- reco.sig = prox;
- if (prox != null) {
- prox.ant = reco;
- }
- }
- }
- }
- public void imprimirID() {//7.Imprimir Izq -> Der
- Nodo reco = raiz;
- while (reco != null) {
- System.out.print(reco.info + "-");
- reco = reco.sig;
- }
- System.out.println();
- }
- public void imprimirDI() {//8.Imprimir Der -> Izq
- if (raiz != null) {
- Nodo reco = raiz;
- while (reco.sig != null) {
- reco = reco.sig;
- }
- while (reco != null) {
- System.out.print(reco.info + "-");
- reco = reco.ant;
- }
- System.out.println();
- }
- }
- public int contar() {//9. Contar Elementos
- int cant = 0;
- Nodo reco = raiz;
- while (reco != null) {
- reco = reco.sig;
- cant++;
- }
- return cant;
- }
- public void ordenarMenor_Mayor() {//10.Ordenar menos a mayor
- int t = 1;
- Nodo reco = raiz;
- int tem = 0;
- do {
- reco = raiz;
- Nodo sig = reco.sig;
- while (reco.sig != null) {
- if (reco.info > sig.info) {
- tem = reco.info;
- reco.info = sig.info;
- sig.info = tem;
- reco = reco.sig;
- sig = sig.sig;
- } else {
- reco = reco.sig;
- sig = sig.sig;
- }
- }
- t++;
- } while (t <= contar());
- }
- public void imprimirPares() {//11.Imprimir Pares
- Nodo reco = raiz;
- while (reco != null) {
- if (reco.info % 2 == 0) {
- System.out.println(reco.info + "-> Par");
- }
- reco = reco.sig;
- }
- }
- public void imprimirInpares() {//12.Imprimir Impares
- Nodo reco = raiz;
- while (reco != null) {
- if (reco.info % 2 != 0) {
- System.out.println(reco.info + "-> impar");
- }
- reco = reco.sig;
- }
- System.out.println();
- }
- public int Primero() {//13. primero
- return raiz.info;
- }
- public void Encontrar(int x) {//14. Encontrar elemento
- Nodo reco = raiz;
- int pos = 0;
- while (reco != null) {
- pos++;
- if (reco.info == x) {
- System.out.println("Se ha encontrado [" + x + "] en la posicion: " + pos);
- }
- reco = reco.sig;
- }
- System.out.println("No se ha encontrado en elemento buscado.");
- }
- public boolean vacia() {
- if (raiz == null) {
- return true;
- } else {
- return false;
- }
- }
- public static void main(String[] ar) {
- ListaGenerica lg = new ListaGenerica();
- lg.insertarCualquierPosicion(1, 500);
- lg.insertarCualquierPosicion(2, 20);
- lg.insertarCualquierPosicion(3, 101);
- lg.insertarCualquierPosicion(4, 400);
- lg.insertarCualquierPosicion(5, 53);
- // lg.insertarPrimero(2000);
- // lg.insertarDespues(2000);
- // lg.BorrarAntes();
- // lg.BorrarDespues();
- // lg.borrarCualquier(3);
- // lg.imprimirID();
- // lg.imprimirDI();
- // int contar = lg.contar();
- // System.out.println("cantidad de nodos:"+contar);
- // lg.ordenarMenor_Mayor();
- // lg.imprimirPares();
- // lg.imprimirInpares();
- // int primero = lg.Primero();
- // System.out.println("Primer elemento:"+primero);
- // lg.Encontrar(101);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement