import java.util.concurrent.*;
import java.util.Arrays;
import java.util.Random;

public class APS {

private static final Random random = new Random();
private static final intRANDOM_INT_RANGE = 9999;

private static int[] randomArray(int size) {

// Fazendo o array aleatório
final int[] arr = new int[size];
for (int i = 0; i < arr.length; i++) {
arr[i] =random.nextInt(RANDOM_INT_RANGE);
}
return arr;
}

// quicksort - chamada
private static void sort(int[] arr) {
if (arr.length > 0)
sortInPlace(arr, 0, arr.length - 1);
}
//quicksort otimizado
private static void sort2(int[] arr) {
if (arr.length > 0)
sortInPlace2(arr, 0, arr.length - 1);
}

//quicksort algoritmo
private static void sortInPlace(int[]arr, int inicio, int fim) {
if (inicio >= fim)
return; // ordenado

final int range = fim - inicio + 1;
int pivot = random.nextInt(range) + inicio;

int newPivot =partition(arr, inicio, fim, pivot);

sortInPlace(arr, inicio, newPivot - 1);
sortInPlace(arr, newPivot + 1, fim);

}

//quicksort otimizado
private static void sortInPlace2(int[] arr, intinicio, int fim) {

boolean insertionSortCalled = false;

int size = fim - inicio + 1;
if (size < 10 && !insertionSortCalled) { //se o subvetor(ou vetor) tiver menos que 10 elementosele ordena pelo método de inserçã
insertionSortCalled = true;
insertionSort(arr, 0, arr.length - 1);
}

if (inicio >= fim)
return; // sorted

final int range= fim - inicio + 1;
int pivot = random.nextInt(range) + inicio;

int newPivot = partition(arr, inicio, fim, pivot);

sortInPlace(arr, inicio, newPivot - 1);
sortInPlace(arr,newPivot + 1, fim);

}
public static void insertionSort(int[] arr, int inicio, int fim) {
int in, out;

for (out = inicio + 1; out inicio && arr[in - 1] >= temp) {
arr[in] =... [continua]

Ler trabalho completo

Citar Este Trabalho

APA

(2012, 10). Métodos de ordenação em java. TrabalhosFeitos.com. Retirado 10, 2012, de http://www.trabalhosfeitos.com/ensaios/M%C3%A9todos-De-Ordena%C3%A7%C3%A3o-Em-Java/401264.html

MLA

"Métodos de ordenação em java" TrabalhosFeitos.com. 10 2012. 2012. 10 2012 <http://www.trabalhosfeitos.com/ensaios/M%C3%A9todos-De-Ordena%C3%A7%C3%A3o-Em-Java/401264.html>.

MLA 7

"Métodos de ordenação em java." TrabalhosFeitos.com. TrabalhosFeitos.com, 10 2012. Web. 10 2012. <http://www.trabalhosfeitos.com/ensaios/M%C3%A9todos-De-Ordena%C3%A7%C3%A3o-Em-Java/401264.html>.

CHICAGO

"Métodos de ordenação em java." TrabalhosFeitos.com. 10, 2012. Acessado 10, 2012. http://www.trabalhosfeitos.com/ensaios/M%C3%A9todos-De-Ordena%C3%A7%C3%A3o-Em-Java/401264.html.