39) Ordenamiento Quicksort

public class Ordenamiento_Quicksort {

public static void main(String[ ] args) {

int[ ] arreglo = {5, 11, 7, 15, 4, 12, 75, 1, 3, 6, 23, 45, 13};
Ordenador o = new Ordenador( );
o.OrdenadorQuicksort(arreglo);

for (int i = 0; i < arreglo.length; i++)

{

System.out.println(arreglo[i]);

}

}

}

Ordenamiento Quicksort

 

===============================================================

 

public class Ordenador {

public void OrdenadorQuicksort(int[ ] array) {
array = quicksort1(array);
}

public int[ ] quicksort1(int numeros[ ]) {

return quicksort2(numeros, 0, numeros.length – 1);

}

public int[ ] quicksort2(int numeros[], int izq, int der) {

if (izq >= der) {

return numeros;

}
int i = izq, d = der;
if (izq != der) {

int pivote;
int aux;
pivote = izq;

while (izq != der) {

while (numeros[der] >= numeros[pivote] && izq < der) {

der–;

}
while (numeros[izq] < numeros[pivote] && izq < der) {

izq++;

}

if (der != izq) {

aux = numeros[der];
numeros[der] = numeros[izq];
numeros[izq] = aux;

}

}

}
if (izq == der) {

quicksort2(numeros, i, izq – 1);
quicksort2(numeros, izq + 1, d);
} else {

return numeros;

}
return numeros;

}

}

Quicksort

Anuncios

38) Ordenamiento por Inserción (Insertion Sort)

public class Ordenamiento_Insercion {

public static void main(String[ ] args) {

int [ ] arreglo = {5,7,11,15,4,12,23,3,2,1,45,13,67,92};
Ordenador o = new Ordenador( );
o.OrdenarInsercion(arreglo);

for(int i=0; i<arreglo.length; i++)
{

System.out.println(arreglo [i]);

}

}

}

Ordenamiento por Insercion

===============================================================

public class Ordenador {

public void OrdenarInsercion(int[ ] array) {

int aux;
int cont1;
int cont2;

for (cont1 = 1; cont1 < array.length; cont1++) {

aux = array[cont1];
for (cont2 = cont1 – 1; cont2 >= 0 && array[cont2] > aux; cont2–) {

array[cont2 + 1] = array[cont2];
array[cont2] = aux;

}

}

}

}

Resultado Insercion

37) Ordenamiento Burbuja (Bubble Sort)

public class Ordenamiento_Burbuja {

/**
* {5,3,4,2}
* {3,4,2,5}
* {3,2,4,5}
* {2,3,4,5}
*/
public static void main(String[ ] args) {

int [ ]arreglo = {5,3,4,2};
Ordenador o = new Ordenador();
o.OrdenadorBurbuja(arreglo);
for(int i=0; i<arreglo.length; i++)
{

System.out.println(arreglo[i]);

}

}

}

Ordenamiento Burbuja

==============================================================

public class Ordenador {

public void OrdenadorBurbuja(int[ ] array) {
int aux;
boolean cambios = false;

while (true) {

cambios = false;
for (int i = 1; i < array.length; i++) {

if (array[i] < array[i – 1]) {

aux = array[i];
array[i] = array[i – 1];
array[i – 1] = aux;
cambios = true;

}

}

if (cambios == false) {

break;

}

}

}

}

Ordenamiento Burbuja Resultado burbuja

36) Colas

Método OFFER:     Añadir un dato

Método POLL:        Obtener un dato

FILO (Firts-in, Firts-out) El primer dato que se ingresa es el que vamos a poder obtener

import java.util.LinkedList;

public class Colas {

public static void main(String[ ] args) {

LinkedList cola = new LinkedList( ); //Crear cola

for(int i=1;  i<11; i++)

cola.offer(i);

while(cola.peek( )!=null)//El método peek NO ELIMINA valores de la cola
{

System.out.println(cola.poll( )); //El método poll SI ELIMINA valores de la cola

}

}

}

Colas

35) Pilas (Stacks)

Pila:         Espacio de memoria donde se almacena información, datos, etc.

Push:      Se introduce un dato en la pila

Pop:         Quita el último dato que se introdujo

Peek:        Se utiliza para ver cuál es el último dato que se introdujo en la pila

Empty:    Se utiliza para saber si la pila tiene o no datos dentro de ella

Filo:          (Firts-in, Last-out) El primer dato que se ingresa es el último que sale

import java.util.Stack;

public class Pilas {

public static void main(String[ ] args) {

Stack pila = new Stack( ); //Se crea la pila
pila.push(50); //Indice 0, se introducen los datos
pila.push(“String”); //Indice 1
pila.push(17);
pila.push(“palabra”);

System.out.println(“El último elemento de la pila es: ” + pila.peek( ));

while(pila.empty( )== false)
{

System.out.println(pila.pop( ));

}

}

}

Pila

34) Listas Enlazadas (LinkedList)

import java.util.LinkedList; //Listas Enlazadas

public class Listas_Enlazadas {

public static void main(String[] args) {

LinkedList lista = new LinkedList(); //Crear Lista

lista.add(“palabra”);
lista.add(5);
lista.add(1,7);
lista.add(“palabra2”);

lista.remove();

System.out.println(“El tamaño de la lista es: ” + lista.size()); //Tamaño de lista
System.out.println(“lista”);

}

}

Lista Enlazada

33) Escribir Textos (Se crea un archivo)

import java.io.*;

public class Escribir_Textos {

public static void main(String[] args) {

Textos t = new Textos();
t.escribir(“escrito.txt”);

}

}

Creación de archivo

===================================================================

import java.io.*;

public class Textos {

public void escribir(String nombreArchivo) {

File f; //Crea un objeto de tipo archivo
f = new File(nombreArchivo); // Se asigna un nombre al archivo

//Escritura
try {

FileWriter w = new FileWriter(f); //Escribe en Archivo
BufferedWriter bw = new BufferedWriter(w); //Almacena Información
PrintWriter wr = new PrintWriter(bw); //Traduce lo que se escribe

wr.write(“Esto es una línea de texto”);
wr.append(“\n Está es una segunda línea de texto”); //Salto de línea
wr.append(“Está es una concatenación”);
wr.close();
bw.close();

} catch (IOException e) {

try {

FileReader r = new FileReader(nombreArchivo);
BufferedReader buffer = new BufferedReader(r);
String temp = ” “;
while (temp != null) {

temp = buffer.readLine();
if (temp == null) {

break;

}
System.out.println(“temp”);

}

} catch (Exception e) {

System.out.println(e.getMessage());

}

}

}

}

Escribir Textos