Changed indentations.
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
public int buscar(int valor) {
|
||||
for (int i = 0; i < array.length; i++) {
|
||||
if (array[i] != 0 && array[i] == valor) {
|
||||
// Se encontró
|
||||
return i;
|
||||
}
|
||||
}
|
||||
// No se encontró
|
||||
return -1;
|
||||
for (int i = 0; i < array.length; i++) {
|
||||
if (array[i] != 0 && array[i] == valor) {
|
||||
// Se encontró
|
||||
return i;
|
||||
}
|
||||
}
|
||||
// No se encontró
|
||||
return -1;
|
||||
}
|
@@ -1,18 +1,18 @@
|
||||
public boolean eliminar(int valor) {
|
||||
boolean borrado = false;
|
||||
for (int i = 0; i < array.length; i++) {
|
||||
if (array[i] != 0 && array[i] == valor) {
|
||||
// Eliminar el valor
|
||||
array[i] = 0;
|
||||
borrado=true;
|
||||
for (int j = i; j < array.length; j++) {
|
||||
if (j != array.length - 1) {
|
||||
// Correr la array hacia arriba
|
||||
array[j] = array[j + 1];
|
||||
}
|
||||
}
|
||||
array[array.length-1] = 0;
|
||||
}
|
||||
}
|
||||
return borrado;
|
||||
boolean borrado = false;
|
||||
for (int i = 0; i < array.length; i++) {
|
||||
if (array[i] != 0 && array[i] == valor) {
|
||||
// Eliminar el valor
|
||||
array[i] = 0;
|
||||
borrado=true;
|
||||
for (int j = i; j < array.length; j++) {
|
||||
if (j != array.length - 1) {
|
||||
// Correr la array hacia arriba
|
||||
array[j] = array[j + 1];
|
||||
}
|
||||
}
|
||||
array[array.length-1] = 0;
|
||||
}
|
||||
}
|
||||
return borrado;
|
||||
}
|
@@ -1,13 +1,13 @@
|
||||
public boolean insertar(int valor) {
|
||||
for (int i = 0; i < array.length; i++) {
|
||||
if (array[i] == 0) {
|
||||
array[i] = valor;
|
||||
return true;
|
||||
}
|
||||
else if (array[i] == valor) {
|
||||
// Ya existe el valor en el array
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
for (int i = 0; i < array.length; i++) {
|
||||
if (array[i] == 0) {
|
||||
array[i] = valor;
|
||||
return true;
|
||||
}
|
||||
else if (array[i] == valor) {
|
||||
// Ya existe el valor en el array
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
@@ -1,10 +1,10 @@
|
||||
public int buscar(int valor) {
|
||||
for (int i = 0; i < array.length; i++) {
|
||||
if (array[i] != 0 && array[i] == valor) {
|
||||
// Se encontró
|
||||
return i;
|
||||
}
|
||||
}
|
||||
// No se encontró
|
||||
return -1;
|
||||
for (int i = 0; i < array.length; i++) {
|
||||
if (array[i] != 0 && array[i] == valor) {
|
||||
// Se encontró
|
||||
return i;
|
||||
}
|
||||
}
|
||||
// No se encontró
|
||||
return -1;
|
||||
}
|
@@ -1,12 +1,12 @@
|
||||
public boolean eliminar(int valor) {
|
||||
boolean borrado = false;
|
||||
for (int i = 0; i < array.length; i++) {
|
||||
if (array[i] != 0 && array[i] == valor) {
|
||||
// Eliminar el valor
|
||||
array[i] = 0;
|
||||
borrado=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return borrado;
|
||||
boolean borrado = false;
|
||||
for (int i = 0; i < array.length; i++) {
|
||||
if (array[i] != 0 && array[i] == valor) {
|
||||
// Eliminar el valor
|
||||
array[i] = 0;
|
||||
borrado=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return borrado;
|
||||
}
|
@@ -1,13 +1,13 @@
|
||||
public boolean insertar(int valor) {
|
||||
for (int i = 0; i < array.length; i++) {
|
||||
if (array[i] == 0) {
|
||||
array[i] = valor;
|
||||
return true;
|
||||
}
|
||||
else if (array[i] == valor) {
|
||||
// Ya existe el valor en el array
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
for (int i = 0; i < array.length; i++) {
|
||||
if (array[i] == 0) {
|
||||
array[i] = valor;
|
||||
return true;
|
||||
}
|
||||
else if (array[i] == valor) {
|
||||
// Ya existe el valor en el array
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
@@ -1,13 +1,13 @@
|
||||
public void burbuja() {
|
||||
for (int i = elementos - 1; i > 1; i--) {
|
||||
for(j = 0; in < i; j++) {
|
||||
// Si están fuera del orden
|
||||
if (array[j] > array[j+1]) {
|
||||
// Intercambiar valores
|
||||
int temp = array[j];
|
||||
array[j] = array[j+1];
|
||||
array[j+1] = temp;
|
||||
}
|
||||
}
|
||||
}
|
||||
for (int i = elementos - 1; i > 1; i--) {
|
||||
for(j = 0; in < i; j++) {
|
||||
// Si están fuera del orden
|
||||
if (array[j] > array[j+1]) {
|
||||
// Intercambiar valores
|
||||
int temp = array[j];
|
||||
array[j] = array[j+1];
|
||||
array[j+1] = temp;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
public int peek() {
|
||||
// Devolver el valor en el primer indice
|
||||
return this.pila[primer];
|
||||
// Devolver el valor en el primer indice
|
||||
return this.pila[primer];
|
||||
}
|
@@ -1,6 +1,6 @@
|
||||
public void pop() {
|
||||
// Borrar el valor que está al prinicipio.
|
||||
this.pila[primer] = 0;
|
||||
// Cambiar el primer nivel de la cola.
|
||||
primer++;
|
||||
// Borrar el valor que está al prinicipio.
|
||||
this.pila[primer] = 0;
|
||||
// Cambiar el primer nivel de la cola.
|
||||
primer++;
|
||||
}
|
@@ -1,6 +1,6 @@
|
||||
public void push(int valor) {
|
||||
// Sumar el final.
|
||||
final++;
|
||||
// Insertar el valor
|
||||
this.pila[final] = valor;
|
||||
// Sumar el final.
|
||||
final++;
|
||||
// Insertar el valor
|
||||
this.pila[final] = valor;
|
||||
}
|
@@ -1,14 +1,14 @@
|
||||
public void insercion() {
|
||||
for (int i = 1; i < elementos; i++) {
|
||||
// Guardar el elemento en un variable temporario.
|
||||
int temp = array[i];
|
||||
int j = i;
|
||||
// Mover los valores hasta que hay una mas pequeño.
|
||||
while (j > 0 && array[j-1] >= temp) {
|
||||
array[j] = array[j-1];
|
||||
--j;
|
||||
}
|
||||
// Poner el valor temporario despues de los valores mas pequeños.
|
||||
array[j] = temp;
|
||||
}
|
||||
for (int i = 1; i < elementos; i++) {
|
||||
// Guardar el elemento en un variable temporario.
|
||||
int temp = array[i];
|
||||
int j = i;
|
||||
// Mover los valores hasta que hay una mas pequeño.
|
||||
while (j > 0 && array[j-1] >= temp) {
|
||||
array[j] = array[j-1];
|
||||
--j;
|
||||
}
|
||||
// Poner el valor temporario despues de los valores mas pequeños.
|
||||
array[j] = temp;
|
||||
}
|
||||
}
|
@@ -1,47 +1,47 @@
|
||||
public Enlace buscar(int llave) {
|
||||
if (this.primer != null) {
|
||||
// La lista no es vacia
|
||||
Enlace lista = this.primer;
|
||||
int i = 0;
|
||||
while (lista.getLlave() != llave && i < elementos) {
|
||||
// Buscar hasta la llave es encontrado
|
||||
lista = lista.getSiguente();
|
||||
i++;
|
||||
}
|
||||
if (this.primer != null) {
|
||||
// La lista no es vacia
|
||||
Enlace lista = this.primer;
|
||||
int i = 0;
|
||||
while (lista.getLlave() != llave && i < elementos) {
|
||||
// Buscar hasta la llave es encontrado
|
||||
lista = lista.getSiguente();
|
||||
i++;
|
||||
}
|
||||
|
||||
if (lista.getLlave() == llave) {
|
||||
// Devoler el enlace encontrado.
|
||||
return lista;
|
||||
}
|
||||
else {
|
||||
// No se encontró.
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// La lista es vacia, devolver null
|
||||
return null;
|
||||
}
|
||||
if (lista.getLlave() == llave) {
|
||||
// Devoler el enlace encontrado.
|
||||
return lista;
|
||||
}
|
||||
else {
|
||||
// No se encontró.
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// La lista es vacia, devolver null
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
final public class Enlace {
|
||||
private int llave;
|
||||
private Enlace siguente;
|
||||
private int llave;
|
||||
private Enlace siguente;
|
||||
|
||||
public Enlace(Enlace siguiente, int llave) {
|
||||
this.siguente = siguente;
|
||||
this.llave = llave;
|
||||
}
|
||||
public Enlace(Enlace siguiente, int llave) {
|
||||
this.siguente = siguente;
|
||||
this.llave = llave;
|
||||
}
|
||||
|
||||
public int getLlave() {
|
||||
return llave;
|
||||
}
|
||||
public int getLlave() {
|
||||
return llave;
|
||||
}
|
||||
|
||||
public Enlace getSiguente() {
|
||||
return siguente;
|
||||
}
|
||||
public Enlace getSiguente() {
|
||||
return siguente;
|
||||
}
|
||||
|
||||
public void setSiguente(Enlace siguente) {
|
||||
this.siguente = siguente;
|
||||
}
|
||||
public void setSiguente(Enlace siguente) {
|
||||
this.siguente = siguente;
|
||||
}
|
||||
}
|
@@ -1,57 +1,57 @@
|
||||
public void eliminar(int llave) {
|
||||
if (primer != null) {
|
||||
// Crear una lista temporario para trabajar
|
||||
Enlace lista = this.primer;
|
||||
// Guardar el enlace previo
|
||||
Enlace previo = lista;
|
||||
// Solo busca mientras que i es menor que la cantidad de enlaces
|
||||
int i = 0;
|
||||
while (lista.getLlave() != llave && i < elementos) {
|
||||
// Buscar hasta la llave es encontraddo
|
||||
if (lista.getSiguente() != null) {
|
||||
// Buscar en el sigenute enlace
|
||||
previo = lista;
|
||||
lista = lista.getSiguente();
|
||||
}
|
||||
i++
|
||||
}
|
||||
if (primer != null) {
|
||||
// Crear una lista temporario para trabajar
|
||||
Enlace lista = this.primer;
|
||||
// Guardar el enlace previo
|
||||
Enlace previo = lista;
|
||||
// Solo busca mientras que i es menor que la cantidad de enlaces
|
||||
int i = 0;
|
||||
while (lista.getLlave() != llave && i < elementos) {
|
||||
// Buscar hasta la llave es encontraddo
|
||||
if (lista.getSiguente() != null) {
|
||||
// Buscar en el sigenute enlace
|
||||
previo = lista;
|
||||
lista = lista.getSiguente();
|
||||
}
|
||||
i++
|
||||
}
|
||||
|
||||
if (lista.getLlave != llave) {
|
||||
// No se encontró
|
||||
return;
|
||||
}
|
||||
if (lista.getLlave != llave) {
|
||||
// No se encontró
|
||||
return;
|
||||
}
|
||||
|
||||
// Se encontró
|
||||
if (lista == this.lista) {
|
||||
// Si es el primer enlace, cambiarlo al siguente enlace
|
||||
this.lista = this.lista.getSiguente();
|
||||
}
|
||||
else {
|
||||
// Sino cortar este enlace de la lista
|
||||
previo.setSiguente(lista.getSiguente());
|
||||
}
|
||||
elementos--;
|
||||
}
|
||||
// Se encontró
|
||||
if (lista == this.lista) {
|
||||
// Si es el primer enlace, cambiarlo al siguente enlace
|
||||
this.lista = this.lista.getSiguente();
|
||||
}
|
||||
else {
|
||||
// Sino cortar este enlace de la lista
|
||||
previo.setSiguente(lista.getSiguente());
|
||||
}
|
||||
elementos--;
|
||||
}
|
||||
}
|
||||
|
||||
final public class Enlace {
|
||||
private int llave;
|
||||
private Enlace siguente;
|
||||
private int llave;
|
||||
private Enlace siguente;
|
||||
|
||||
public Enlace(Enlace siguiente, int llave) {
|
||||
this.siguente = siguente;
|
||||
this.llave = llave;
|
||||
}
|
||||
public Enlace(Enlace siguiente, int llave) {
|
||||
this.siguente = siguente;
|
||||
this.llave = llave;
|
||||
}
|
||||
|
||||
public int getLlave() {
|
||||
return llave;
|
||||
}
|
||||
public int getLlave() {
|
||||
return llave;
|
||||
}
|
||||
|
||||
public Enlace getSiguente() {
|
||||
return siguente;
|
||||
}
|
||||
public Enlace getSiguente() {
|
||||
return siguente;
|
||||
}
|
||||
|
||||
public void setSiguente(Enlace siguente) {
|
||||
this.siguente = siguente;
|
||||
}
|
||||
public void setSiguente(Enlace siguente) {
|
||||
this.siguente = siguente;
|
||||
}
|
||||
}
|
@@ -1,39 +1,39 @@
|
||||
public void insertar(int llave) {
|
||||
if (buscar(llave) == null) {
|
||||
// Crear un enlace nuevo
|
||||
Enlace nuevo = new Enlace(primer, llave);
|
||||
if (buscar(llave) == null) {
|
||||
// Crear un enlace nuevo
|
||||
Enlace nuevo = new Enlace(primer, llave);
|
||||
|
||||
if (primer == null) {
|
||||
// Si el primer enlace es null, el ul
|
||||
ultimo = nuevo;
|
||||
}
|
||||
if (primer == null) {
|
||||
// Si el primer enlace es null, el ul
|
||||
ultimo = nuevo;
|
||||
}
|
||||
|
||||
// El primer es el nuevo.
|
||||
primer = nuevo;
|
||||
// El ultimo apunta al primer.
|
||||
ultimo.setSiguente(primer);
|
||||
elementos++;
|
||||
}
|
||||
// El primer es el nuevo.
|
||||
primer = nuevo;
|
||||
// El ultimo apunta al primer.
|
||||
ultimo.setSiguente(primer);
|
||||
elementos++;
|
||||
}
|
||||
}
|
||||
|
||||
final public class Enlace {
|
||||
private int llave;
|
||||
private Enlace siguente;
|
||||
private int llave;
|
||||
private Enlace siguente;
|
||||
|
||||
public Enlace(Enlace siguiente, int llave) {
|
||||
this.siguente = siguente;
|
||||
this.llave = llave;
|
||||
}
|
||||
public Enlace(Enlace siguiente, int llave) {
|
||||
this.siguente = siguente;
|
||||
this.llave = llave;
|
||||
}
|
||||
|
||||
public int getLlave() {
|
||||
return llave;
|
||||
}
|
||||
public int getLlave() {
|
||||
return llave;
|
||||
}
|
||||
|
||||
public Enlace getSiguente() {
|
||||
return siguente;
|
||||
}
|
||||
public Enlace getSiguente() {
|
||||
return siguente;
|
||||
}
|
||||
|
||||
public void setSiguente(Enlace siguente) {
|
||||
this.siguente = siguente;
|
||||
}
|
||||
public void setSiguente(Enlace siguente) {
|
||||
this.siguente = siguente;
|
||||
}
|
||||
}
|
@@ -1,54 +1,54 @@
|
||||
public Enlace buscar(int llave) {
|
||||
if (this.lista != null) {
|
||||
// La lista no es vacia
|
||||
Enlace lista = this.lista;
|
||||
while (lista.getLlave() != llave) {
|
||||
// Buscar hasta la llave es encontraddo
|
||||
if (lista.getSiguente() != null) {
|
||||
// Buscar en el sigenute enlace
|
||||
lista = lista.getSiguente();
|
||||
}
|
||||
else {
|
||||
// No se encuentra
|
||||
return null;
|
||||
}
|
||||
}
|
||||
// Se encontró, devolver el enlace
|
||||
return lista;
|
||||
}
|
||||
else {
|
||||
// La lista es vacia, devolver null
|
||||
return null;
|
||||
}
|
||||
if (this.lista != null) {
|
||||
// La lista no es vacia
|
||||
Enlace lista = this.lista;
|
||||
while (lista.getLlave() != llave) {
|
||||
// Buscar hasta la llave es encontraddo
|
||||
if (lista.getSiguente() != null) {
|
||||
// Buscar en el sigenute enlace
|
||||
lista = lista.getSiguente();
|
||||
}
|
||||
else {
|
||||
// No se encuentra
|
||||
return null;
|
||||
}
|
||||
}
|
||||
// Se encontró, devolver el enlace
|
||||
return lista;
|
||||
}
|
||||
else {
|
||||
// La lista es vacia, devolver null
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
final public class Enlace {
|
||||
private int llave;
|
||||
private Enlace siguente;
|
||||
private Enlace previo;
|
||||
private int llave;
|
||||
private Enlace siguente;
|
||||
private Enlace previo;
|
||||
|
||||
public Enlace(Enlace siguiente, int llave) {
|
||||
this.siguente = siguente;
|
||||
this.llave = llave;
|
||||
}
|
||||
public Enlace(Enlace siguiente, int llave) {
|
||||
this.siguente = siguente;
|
||||
this.llave = llave;
|
||||
}
|
||||
|
||||
public int getLlave() {
|
||||
return llave;
|
||||
}
|
||||
public int getLlave() {
|
||||
return llave;
|
||||
}
|
||||
|
||||
public Enlace getSiguente() {
|
||||
return siguente;
|
||||
}
|
||||
public Enlace getSiguente() {
|
||||
return siguente;
|
||||
}
|
||||
|
||||
public void setSiguente(Enlace siguente) {
|
||||
this.siguente = siguente;
|
||||
}
|
||||
public void setSiguente(Enlace siguente) {
|
||||
this.siguente = siguente;
|
||||
}
|
||||
|
||||
public Enlace getPrevio() {
|
||||
return previo;
|
||||
}
|
||||
public Enlace getPrevio() {
|
||||
return previo;
|
||||
}
|
||||
|
||||
public void setPrevio(Enlace previo) {
|
||||
this.previo = previo;
|
||||
}
|
||||
public void setPrevio(Enlace previo) {
|
||||
this.previo = previo;
|
||||
}
|
||||
}
|
@@ -1,63 +1,63 @@
|
||||
public void eliminar(int llave) {
|
||||
if (lista != null) {
|
||||
// Crear una lista temporario para trabajar
|
||||
Enlace lista = this.lista;
|
||||
// Guardar el enlace previo
|
||||
Enlace previo = lista;
|
||||
while (lista.getLlave() != llave) {
|
||||
// Buscar hasta la llave es encontraddo
|
||||
if (lista.getSiguente() != null) {
|
||||
// Buscar en el sigenute enlace
|
||||
previo = lista;
|
||||
lista = lista.getSiguente();
|
||||
}
|
||||
else {
|
||||
// No se encuentra la llave
|
||||
return;
|
||||
}
|
||||
}
|
||||
// Se encontró
|
||||
if (lista == this.lista) {
|
||||
// Si es el primer enlace, cambiarlo al siguente enlace
|
||||
this.lista = this.lista.getSiguente();
|
||||
if (this.lista.getPrevio() != null) {
|
||||
this.lista.setPrevio(null);
|
||||
}
|
||||
}
|
||||
else {
|
||||
// Sino cortar este enlace de la lista
|
||||
previo.setSiguente(lista.getSiguente());
|
||||
}
|
||||
}
|
||||
if (lista != null) {
|
||||
// Crear una lista temporario para trabajar
|
||||
Enlace lista = this.lista;
|
||||
// Guardar el enlace previo
|
||||
Enlace previo = lista;
|
||||
while (lista.getLlave() != llave) {
|
||||
// Buscar hasta la llave es encontraddo
|
||||
if (lista.getSiguente() != null) {
|
||||
// Buscar en el sigenute enlace
|
||||
previo = lista;
|
||||
lista = lista.getSiguente();
|
||||
}
|
||||
else {
|
||||
// No se encuentra la llave
|
||||
return;
|
||||
}
|
||||
}
|
||||
// Se encontró
|
||||
if (lista == this.lista) {
|
||||
// Si es el primer enlace, cambiarlo al siguente enlace
|
||||
this.lista = this.lista.getSiguente();
|
||||
if (this.lista.getPrevio() != null) {
|
||||
this.lista.setPrevio(null);
|
||||
}
|
||||
}
|
||||
else {
|
||||
// Sino cortar este enlace de la lista
|
||||
previo.setSiguente(lista.getSiguente());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
final public class Enlace {
|
||||
private int llave;
|
||||
private Enlace siguente;
|
||||
private Enlace previo;
|
||||
private int llave;
|
||||
private Enlace siguente;
|
||||
private Enlace previo;
|
||||
|
||||
public Enlace(Enlace siguiente, int llave) {
|
||||
this.siguente = siguente;
|
||||
this.llave = llave;
|
||||
}
|
||||
public Enlace(Enlace siguiente, int llave) {
|
||||
this.siguente = siguente;
|
||||
this.llave = llave;
|
||||
}
|
||||
|
||||
public int getLlave() {
|
||||
return llave;
|
||||
}
|
||||
public int getLlave() {
|
||||
return llave;
|
||||
}
|
||||
|
||||
public Enlace getSiguente() {
|
||||
return siguente;
|
||||
}
|
||||
public Enlace getSiguente() {
|
||||
return siguente;
|
||||
}
|
||||
|
||||
public void setSiguente(Enlace siguente) {
|
||||
this.siguente = siguente;
|
||||
}
|
||||
public void setSiguente(Enlace siguente) {
|
||||
this.siguente = siguente;
|
||||
}
|
||||
|
||||
public Enlace getPrevio() {
|
||||
return previo;
|
||||
}
|
||||
public Enlace getPrevio() {
|
||||
return previo;
|
||||
}
|
||||
|
||||
public void setPrevio(Enlace previo) {
|
||||
this.previo = previo;
|
||||
}
|
||||
public void setPrevio(Enlace previo) {
|
||||
this.previo = previo;
|
||||
}
|
||||
}
|
@@ -1,43 +1,43 @@
|
||||
public void insertar(int llave) {
|
||||
if (buscar(llave) == null) {
|
||||
// Crear un enlace nuevo
|
||||
Enlace nuevo = new Enlace(lista, llave);
|
||||
if (lista != null) {
|
||||
// El previo es el nuevo.
|
||||
lista.setPrevio(nuevo);
|
||||
}
|
||||
// Agregar el enlace a la lista
|
||||
lista = nuevo;
|
||||
}
|
||||
if (buscar(llave) == null) {
|
||||
// Crear un enlace nuevo
|
||||
Enlace nuevo = new Enlace(lista, llave);
|
||||
if (lista != null) {
|
||||
// El previo es el nuevo.
|
||||
lista.setPrevio(nuevo);
|
||||
}
|
||||
// Agregar el enlace a la lista
|
||||
lista = nuevo;
|
||||
}
|
||||
}
|
||||
|
||||
final public class Enlace {
|
||||
private int llave;
|
||||
private Enlace siguente;
|
||||
private Enlace previo;
|
||||
private int llave;
|
||||
private Enlace siguente;
|
||||
private Enlace previo;
|
||||
|
||||
public Enlace(Enlace siguiente, int llave) {
|
||||
this.siguente = siguente;
|
||||
this.llave = llave;
|
||||
}
|
||||
public Enlace(Enlace siguiente, int llave) {
|
||||
this.siguente = siguente;
|
||||
this.llave = llave;
|
||||
}
|
||||
|
||||
public int getLlave() {
|
||||
return llave;
|
||||
}
|
||||
public int getLlave() {
|
||||
return llave;
|
||||
}
|
||||
|
||||
public Enlace getSiguente() {
|
||||
return siguente;
|
||||
}
|
||||
public Enlace getSiguente() {
|
||||
return siguente;
|
||||
}
|
||||
|
||||
public void setSiguente(Enlace siguente) {
|
||||
this.siguente = siguente;
|
||||
}
|
||||
public void setSiguente(Enlace siguente) {
|
||||
this.siguente = siguente;
|
||||
}
|
||||
|
||||
public Enlace getPrevio() {
|
||||
return previo;
|
||||
}
|
||||
public Enlace getPrevio() {
|
||||
return previo;
|
||||
}
|
||||
|
||||
public void setPrevio(Enlace previo) {
|
||||
this.previo = previo;
|
||||
}
|
||||
public void setPrevio(Enlace previo) {
|
||||
this.previo = previo;
|
||||
}
|
||||
}
|
@@ -1,45 +1,45 @@
|
||||
public Enlace buscar(int llave) {
|
||||
if (this.lista != null) {
|
||||
// La lista no es vacia
|
||||
Enlace lista = this.lista;
|
||||
while (lista.getLlave() != llave) {
|
||||
// Buscar hasta la llave es encontraddo
|
||||
if (lista.getSiguente() != null) {
|
||||
// Buscar en el sigenute enlace
|
||||
lista = lista.getSiguente();
|
||||
}
|
||||
else {
|
||||
// No se encuentra
|
||||
return null;
|
||||
}
|
||||
}
|
||||
// Se encontró, devolver el enlace
|
||||
return lista;
|
||||
}
|
||||
else {
|
||||
// La lista es vacia, devolver null
|
||||
return null;
|
||||
}
|
||||
if (this.lista != null) {
|
||||
// La lista no es vacia
|
||||
Enlace lista = this.lista;
|
||||
while (lista.getLlave() != llave) {
|
||||
// Buscar hasta la llave es encontraddo
|
||||
if (lista.getSiguente() != null) {
|
||||
// Buscar en el sigenute enlace
|
||||
lista = lista.getSiguente();
|
||||
}
|
||||
else {
|
||||
// No se encuentra
|
||||
return null;
|
||||
}
|
||||
}
|
||||
// Se encontró, devolver el enlace
|
||||
return lista;
|
||||
}
|
||||
else {
|
||||
// La lista es vacia, devolver null
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
final public class Enlace {
|
||||
private int llave;
|
||||
private Enlace siguente;
|
||||
private int llave;
|
||||
private Enlace siguente;
|
||||
|
||||
public Enlace(Enlace siguiente, int llave) {
|
||||
this.siguente = siguente;
|
||||
this.llave = llave;
|
||||
}
|
||||
public Enlace(Enlace siguiente, int llave) {
|
||||
this.siguente = siguente;
|
||||
this.llave = llave;
|
||||
}
|
||||
|
||||
public int getLlave() {
|
||||
return llave;
|
||||
}
|
||||
public int getLlave() {
|
||||
return llave;
|
||||
}
|
||||
|
||||
public Enlace getSiguente() {
|
||||
return siguente;
|
||||
}
|
||||
public Enlace getSiguente() {
|
||||
return siguente;
|
||||
}
|
||||
|
||||
public void setSiguente(Enlace siguente) {
|
||||
this.siguente = siguente;
|
||||
}
|
||||
public void setSiguente(Enlace siguente) {
|
||||
this.siguente = siguente;
|
||||
}
|
||||
}
|
@@ -1,51 +1,51 @@
|
||||
public void eliminar(int llave) {
|
||||
if (lista != null) {
|
||||
// Crear una lista temporario para trabajar
|
||||
Enlace lista = this.lista;
|
||||
// Guardar el enlace previo
|
||||
Enlace previo = lista;
|
||||
while (lista.getLlave() != llave) {
|
||||
// Buscar hasta la llave es encontraddo
|
||||
if (lista.getSiguente() != null) {
|
||||
// Buscar en el sigenute enlace
|
||||
previo = lista;
|
||||
lista = lista.getSiguente();
|
||||
}
|
||||
else {
|
||||
// No se encuentra la llave
|
||||
return;
|
||||
}
|
||||
}
|
||||
// Se encontró
|
||||
if (lista == this.lista) {
|
||||
// Si es el primer enlace, cambiarlo al siguente enlace
|
||||
this.lista = this.lista.getSiguente();
|
||||
}
|
||||
else {
|
||||
// Sino cortar este enlace de la lista
|
||||
previo.setSiguente(lista.getSiguente());
|
||||
}
|
||||
}
|
||||
if (lista != null) {
|
||||
// Crear una lista temporario para trabajar
|
||||
Enlace lista = this.lista;
|
||||
// Guardar el enlace previo
|
||||
Enlace previo = lista;
|
||||
while (lista.getLlave() != llave) {
|
||||
// Buscar hasta la llave es encontraddo
|
||||
if (lista.getSiguente() != null) {
|
||||
// Buscar en el sigenute enlace
|
||||
previo = lista;
|
||||
lista = lista.getSiguente();
|
||||
}
|
||||
else {
|
||||
// No se encuentra la llave
|
||||
return;
|
||||
}
|
||||
}
|
||||
// Se encontró
|
||||
if (lista == this.lista) {
|
||||
// Si es el primer enlace, cambiarlo al siguente enlace
|
||||
this.lista = this.lista.getSiguente();
|
||||
}
|
||||
else {
|
||||
// Sino cortar este enlace de la lista
|
||||
previo.setSiguente(lista.getSiguente());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
final public class Enlace {
|
||||
private int llave;
|
||||
private Enlace siguente;
|
||||
private int llave;
|
||||
private Enlace siguente;
|
||||
|
||||
public Enlace(Enlace siguiente, int llave) {
|
||||
this.siguente = siguente;
|
||||
this.llave = llave;
|
||||
}
|
||||
public Enlace(Enlace siguiente, int llave) {
|
||||
this.siguente = siguente;
|
||||
this.llave = llave;
|
||||
}
|
||||
|
||||
public int getLlave() {
|
||||
return llave;
|
||||
}
|
||||
public int getLlave() {
|
||||
return llave;
|
||||
}
|
||||
|
||||
public Enlace getSiguente() {
|
||||
return siguente;
|
||||
}
|
||||
public Enlace getSiguente() {
|
||||
return siguente;
|
||||
}
|
||||
|
||||
public void setSiguente(Enlace siguente) {
|
||||
this.siguente = siguente;
|
||||
}
|
||||
public void setSiguente(Enlace siguente) {
|
||||
this.siguente = siguente;
|
||||
}
|
||||
}
|
@@ -1,30 +1,30 @@
|
||||
public void insertar(int llave) {
|
||||
if (buscar(llave) == null) {
|
||||
// Crear un enlace nuevo
|
||||
Enlace nuevo = new Enlace(lista, llave);
|
||||
// Agregar el enlace a la lista
|
||||
lista = nuevo;
|
||||
}
|
||||
if (buscar(llave) == null) {
|
||||
// Crear un enlace nuevo
|
||||
Enlace nuevo = new Enlace(lista, llave);
|
||||
// Agregar el enlace a la lista
|
||||
lista = nuevo;
|
||||
}
|
||||
}
|
||||
|
||||
final public class Enlace {
|
||||
private int llave;
|
||||
private Enlace siguente;
|
||||
private int llave;
|
||||
private Enlace siguente;
|
||||
|
||||
public Enlace(Enlace siguiente, int llave) {
|
||||
this.siguente = siguente;
|
||||
this.llave = llave;
|
||||
}
|
||||
public Enlace(Enlace siguiente, int llave) {
|
||||
this.siguente = siguente;
|
||||
this.llave = llave;
|
||||
}
|
||||
|
||||
public int getLlave() {
|
||||
return llave;
|
||||
}
|
||||
public int getLlave() {
|
||||
return llave;
|
||||
}
|
||||
|
||||
public Enlace getSiguente() {
|
||||
return siguente;
|
||||
}
|
||||
public Enlace getSiguente() {
|
||||
return siguente;
|
||||
}
|
||||
|
||||
public void setSiguente(Enlace siguente) {
|
||||
this.siguente = siguente;
|
||||
}
|
||||
public void setSiguente(Enlace siguente) {
|
||||
this.siguente = siguente;
|
||||
}
|
||||
}
|
@@ -1,50 +1,50 @@
|
||||
public void merge() {
|
||||
// Crear un array temporario para trabajar.
|
||||
int[] temp = new int[elementos];
|
||||
// Llamar al metodo recursivo.
|
||||
recMergeSort(temp, 0, elementos - 1);
|
||||
// Crear un array temporario para trabajar.
|
||||
int[] temp = new int[elementos];
|
||||
// Llamar al metodo recursivo.
|
||||
recMergeSort(temp, 0, elementos - 1);
|
||||
}
|
||||
|
||||
private void recMergeSort(int[] temp, int izquerda, int derecha) {
|
||||
if (izquerda != derecha) {
|
||||
int medio = (izquerda + derecha) / 2;
|
||||
// Trabajar con los valores en el lado izquerdo.
|
||||
recMergeSort(temp, izquerda, medio);
|
||||
// Trabajar con los valores en el lado derecha.
|
||||
recMergeSort(temp, medio + 1, derecha);
|
||||
// Unir los valores.
|
||||
merge(temp, izquerda, medio + 1, derecha);
|
||||
}
|
||||
if (izquerda != derecha) {
|
||||
int medio = (izquerda + derecha) / 2;
|
||||
// Trabajar con los valores en el lado izquerdo.
|
||||
recMergeSort(temp, izquerda, medio);
|
||||
// Trabajar con los valores en el lado derecha.
|
||||
recMergeSort(temp, medio + 1, derecha);
|
||||
// Unir los valores.
|
||||
merge(temp, izquerda, medio + 1, derecha);
|
||||
}
|
||||
}
|
||||
|
||||
private void merge(int[] temp, int prevIzquerda, int prevMedio, int derecha) {
|
||||
int j = 0;
|
||||
int izquerda = prevIzquerda;
|
||||
int medio = prevMedio - 1;
|
||||
int masDerecha = derecha - izquerda + 1;
|
||||
int j = 0;
|
||||
int izquerda = prevIzquerda;
|
||||
int medio = prevMedio - 1;
|
||||
int masDerecha = derecha - izquerda + 1;
|
||||
|
||||
while (prevIzquerda <= medio && prevMedio <= derecha) {
|
||||
// Poner un valor en el array temporario.
|
||||
if (array[prevIzquerda] < array[prevMedio]) {
|
||||
temp[j++] = array[prevIzquerda++];
|
||||
}
|
||||
else {
|
||||
temp[j++] = array[prevMedio++];
|
||||
}
|
||||
}
|
||||
while (prevIzquerda <= medio && prevMedio <= derecha) {
|
||||
// Poner un valor en el array temporario.
|
||||
if (array[prevIzquerda] < array[prevMedio]) {
|
||||
temp[j++] = array[prevIzquerda++];
|
||||
}
|
||||
else {
|
||||
temp[j++] = array[prevMedio++];
|
||||
}
|
||||
}
|
||||
|
||||
while (prevIzquerda <= medio) {
|
||||
// Mientras que el valor previos de izquerda es menor que el medio correr los valores.
|
||||
temp[j++] = array[prevIzquerda++];
|
||||
}
|
||||
while (prevIzquerda <= medio) {
|
||||
// Mientras que el valor previos de izquerda es menor que el medio correr los valores.
|
||||
temp[j++] = array[prevIzquerda++];
|
||||
}
|
||||
|
||||
while (prevMedio <= derecha) {
|
||||
// Mientras que el valor previos de derecha es menor que el medio correr los valores.
|
||||
temp[j++] = array[prevMedio++];
|
||||
}
|
||||
while (prevMedio <= derecha) {
|
||||
// Mientras que el valor previos de derecha es menor que el medio correr los valores.
|
||||
temp[j++] = array[prevMedio++];
|
||||
}
|
||||
|
||||
for (j = 0; j < masDerecha; j++) {
|
||||
// Copiar los valores al array real.
|
||||
array[izquerda + j] = temp[j];
|
||||
}
|
||||
for (j = 0; j < masDerecha; j++) {
|
||||
// Copiar los valores al array real.
|
||||
array[izquerda + j] = temp[j];
|
||||
}
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
public int peek() {
|
||||
// Devolver el valor encima
|
||||
return this.pila[encima];
|
||||
// Devolver el valor encima
|
||||
return this.pila[encima];
|
||||
}
|
@@ -1,6 +1,6 @@
|
||||
public void pop() {
|
||||
// Borrar el valor que está encima.
|
||||
this.pila[encima] = 0;
|
||||
// Restar el nivel de la pila.
|
||||
encima--;
|
||||
// Borrar el valor que está encima.
|
||||
this.pila[encima] = 0;
|
||||
// Restar el nivel de la pila.
|
||||
encima--;
|
||||
}
|
@@ -1,6 +1,6 @@
|
||||
public void push(int valor) {
|
||||
// Sumar el nivel de la pila
|
||||
encima++;
|
||||
// Insertar el valor
|
||||
this.pila[encima] = valor;
|
||||
// Sumar el nivel de la pila
|
||||
encima++;
|
||||
// Insertar el valor
|
||||
this.pila[encima] = valor;
|
||||
}
|
@@ -1,47 +1,47 @@
|
||||
public void quick() {
|
||||
// Llamar al metodo recursivo.
|
||||
recurenciaQuick(0, elementos - 1);
|
||||
// Llamar al metodo recursivo.
|
||||
recurenciaQuick(0, elementos - 1);
|
||||
}
|
||||
|
||||
private void recurenciaQuick(int izquerda, int derecha) {
|
||||
if (derecha - izquerda <= 0) {
|
||||
// Si derecha es menor que izquerda ya terminó.
|
||||
return;
|
||||
}
|
||||
else {
|
||||
int pivot = array[derecha];
|
||||
if (derecha - izquerda <= 0) {
|
||||
// Si derecha es menor que izquerda ya terminó.
|
||||
return;
|
||||
}
|
||||
else {
|
||||
int pivot = array[derecha];
|
||||
|
||||
int particion = particionar(izquerda, derecha, pivot);
|
||||
recurenciaQuick(izquerda, particion - 1);
|
||||
recurenciaQuick(particion + 1, derecha);
|
||||
}
|
||||
int particion = particionar(izquerda, derecha, pivot);
|
||||
recurenciaQuick(izquerda, particion - 1);
|
||||
recurenciaQuick(particion + 1, derecha);
|
||||
}
|
||||
}
|
||||
|
||||
private int particionar(int izquerda, int derecha, int pivot) {
|
||||
int punteroIzquerda = izquerda-1;
|
||||
int punteroDerecha = derecha;
|
||||
while (true) {
|
||||
// Sumar el punteroIzquerda hasta que es igual al pivot
|
||||
while (array[++punteroIzquerda] < pivot);
|
||||
// Restar el puntoDerecha hasta que es igual a pivot o hasta 0.
|
||||
while (punteroDerecha > 0 && array[--punteroDerecha] > pivot);
|
||||
int punteroIzquerda = izquerda-1;
|
||||
int punteroDerecha = derecha;
|
||||
while (true) {
|
||||
// Sumar el punteroIzquerda hasta que es igual al pivot
|
||||
while (array[++punteroIzquerda] < pivot);
|
||||
// Restar el puntoDerecha hasta que es igual a pivot o hasta 0.
|
||||
while (punteroDerecha > 0 && array[--punteroDerecha] > pivot);
|
||||
|
||||
if (punteroIzquerda >= punteroDerecha) {
|
||||
// Si el puntero izquerda es mayor o igual a la derech termina el while.
|
||||
break;
|
||||
}
|
||||
else {
|
||||
// Intercambiar los valores.
|
||||
int temp = array[punteroIzquerda];
|
||||
array[punteroIzquerda] = array[punteroDerecha];
|
||||
array[punteroDerecha] = temp;
|
||||
}
|
||||
}
|
||||
// Intercambiar los valores.
|
||||
int temp = array[punteroIzquerda];
|
||||
array[punteroIzquerda] = array[derecha];
|
||||
array[derecha] = temp;
|
||||
if (punteroIzquerda >= punteroDerecha) {
|
||||
// Si el puntero izquerda es mayor o igual a la derech termina el while.
|
||||
break;
|
||||
}
|
||||
else {
|
||||
// Intercambiar los valores.
|
||||
int temp = array[punteroIzquerda];
|
||||
array[punteroIzquerda] = array[punteroDerecha];
|
||||
array[punteroDerecha] = temp;
|
||||
}
|
||||
}
|
||||
// Intercambiar los valores.
|
||||
int temp = array[punteroIzquerda];
|
||||
array[punteroIzquerda] = array[derecha];
|
||||
array[derecha] = temp;
|
||||
|
||||
// Devolver la posición donde terminó.
|
||||
return punteroIzquerda;
|
||||
// Devolver la posición donde terminó.
|
||||
return punteroIzquerda;
|
||||
}
|
@@ -1,13 +1,13 @@
|
||||
public void seleccion() {
|
||||
for (int i = 0; i < elementos - 1; i++) {
|
||||
int minimo = i;
|
||||
for (int j = i + 1; j < elementos; j++) {
|
||||
if (array[j] < array[minimo]) {
|
||||
minimo = j;
|
||||
}
|
||||
}
|
||||
int temp = array[i];
|
||||
array[i] = array[minimo];
|
||||
array[minimo] = temp;
|
||||
}
|
||||
for (int i = 0; i < elementos - 1; i++) {
|
||||
int minimo = i;
|
||||
for (int j = i + 1; j < elementos; j++) {
|
||||
if (array[j] < array[minimo]) {
|
||||
minimo = j;
|
||||
}
|
||||
}
|
||||
int temp = array[i];
|
||||
array[i] = array[minimo];
|
||||
array[minimo] = temp;
|
||||
}
|
||||
}
|
@@ -1,25 +1,25 @@
|
||||
public void shell() {
|
||||
int i, j;
|
||||
int temp;
|
||||
int i, j;
|
||||
int temp;
|
||||
|
||||
int h = 1;
|
||||
while (h <= elementos / 3) {
|
||||
// Sumatorio de (h * 3 + 1)
|
||||
h = h * 3 + 1;
|
||||
}
|
||||
int h = 1;
|
||||
while (h <= elementos / 3) {
|
||||
// Sumatorio de (h * 3 + 1)
|
||||
h = h * 3 + 1;
|
||||
}
|
||||
|
||||
// Mientras que h es mayor que 0.
|
||||
while (h > 0) {
|
||||
for (i = h; i < elementos; i++) {
|
||||
temp = array[i];
|
||||
j = i;
|
||||
while (j > h-1 && array[j-h] >= temp) {
|
||||
// Ordenar dento el "shell"
|
||||
array[j] = array[j-h];
|
||||
j -= h;
|
||||
}
|
||||
array[j] = temp;
|
||||
}
|
||||
h = (h-1) / 3;
|
||||
}
|
||||
// Mientras que h es mayor que 0.
|
||||
while (h > 0) {
|
||||
for (i = h; i < elementos; i++) {
|
||||
temp = array[i];
|
||||
j = i;
|
||||
while (j > h-1 && array[j-h] >= temp) {
|
||||
// Ordenar dento el "shell"
|
||||
array[j] = array[j-h];
|
||||
j -= h;
|
||||
}
|
||||
array[j] = temp;
|
||||
}
|
||||
h = (h-1) / 3;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user