public void eliminarPosicion(int x) { /* dise que insertaremos x */ /* ese x lo insertamos mas adelante en el main */ if (x == 1) { /* si x es igual a 1 entonces */ eliminarPrimero(); /* llame al metodo eliminar primero */ } else { if (x == cantidadNodos()) { /* si es igual a 8 siendo 8 el numero de nodos */ eliminarFinal(); /* llama al metodo eliminar final */ } else { /* si no entonces haga lo siguiente */ NodoTransaccion ant = cabeza; /* decimos que anterior es igual a cabeza */ NodoTransaccion actual = cabeza.siguiente; /* actual es el que sigue de cabeza */ NodoTransaccion siguiente = actual.siguiente; /* y siguiente es despues de actual */ int can = 2; /* cantidad 2 osea empieza desde la posicion 2 */ while (can != x) { /* ciclo hasta que cantidad sea diferente de x */ can++; /* cantidad aumenta de 1 en uno */ ant = ant.siguiente; /* cuando eso entonces se movera asi */ /* anterior sera anterior siguiente */ actual = actual.siguiente; /* actual sera el que sigue */ siguiente = siguiente.siguiente; /* siguiente sera el que sigue */ } /* cuando se termine anterior */ ant.siguiente = siguiente; /* anterior.siguiente sera siguiente */ /* osea se salta uno y lo borra y ese sera el numero que el damos */ } } }
/* 6. Creamos una parte de eliminar ultimo */ public void eliminarFinal() { NodoTransaccion ant = cabeza; /* El nodo anterior es igual a cabeza */ NodoTransaccion aux = cabeza.siguiente; /* el auxiliar ahora es uno mas adelante */ /* que la cabeza */ while (aux.siguiente != null) { /* Ciclo hasta siguiente ser null*/ ant = ant.siguiente; /* el anterior es el anterior con el siguiente */ aux = aux.siguiente; /* Asi se mueve al siguiente nodo */ } ant.siguiente = null; /* se le pone que al terminar el ciclo */ /* osea al ser anterior el penultimo se le dice que el siguiente */ /* */ }
public void insertarPrimero( int NoCuenta, String fecha, String tipo_transacción, String tipo_de_cuenta, int monto) { NodoTransaccion nuevo = new NodoTransaccion(); nuevo.NoCuenta = NoCuenta; nuevo.fecha = fecha; nuevo.tipo_transacción = tipo_transacción; nuevo.tipo_de_cuenta = tipo_de_cuenta; nuevo.monto = monto; nuevo.siguiente = cabeza; cabeza = nuevo; }
/* 4. Ahora creamos una parte llamada insertar ultimo, para ello hay * que hacer * forma de recorrer la lista o tener un apuntador que defina el ultimo nodo. */ public void insertarFinal( int NoCuenta, String fecha, String tipo_transacción, String tipo_de_cuenta, int monto) { NodoTransaccion aux = cabeza; /* * Creamos una variable de tipo nodo */ /* * apunta a donde apunta cabeza */ NodoTransaccion ant = cabeza; /* * creamos anterior */ NodoTransaccion nuevo = new NodoTransaccion(); nuevo.NoCuenta = NoCuenta; nuevo.fecha = fecha; nuevo.tipo_transacción = tipo_transacción; nuevo.tipo_de_cuenta = tipo_de_cuenta; nuevo.monto = monto; /* * insertar nuevo dato */ if (aux == null) { // se verifica si es el primer elemento, nuevo.siguiente = null; cabeza = nuevo; } else { while (aux.siguiente != null) { /*asignele a aux siguiente ciclo hasta que sea nulo*/ aux = aux.siguiente; /*le da a aux el siguiente*/ } nuevo.siguiente = null; /* * el nuevo elemento sera el siguiente */ aux.siguiente = nuevo; /* * auxiliar seria el nuevo objeto */ } }