Métodos de ordenação em java

483 palavras 2 páginas
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 int RANDOM_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, int inicio, int fim) {

boolean insertionSortCalled = false;

int size = fim - inicio + 1; if (size < 10 && !insertionSortCalled) { //se o subvetor(ou vetor) tiver menos que 10 elementos ele 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] =

Relacionados

  • Estrutura de dados @
    2040 palavras | 9 páginas
  • criptografia
    2370 palavras | 10 páginas
  • ORDENAÇÂO DE DADOS
    1549 palavras | 7 páginas
  • Pesquisa e Ordenação de dados
    775 palavras | 4 páginas
  • ALGORITMO DE ORDENAÇÃO POR SELEÇÃO E TROCA
    1882 palavras | 8 páginas
  • Algoritmos de ordenação de dados
    7415 palavras | 30 páginas
  • Bubble Sort
    2117 palavras | 9 páginas
  • estrutura de dados
    2414 palavras | 10 páginas
  • Ordenação e busca algoritmos
    2973 palavras | 12 páginas
  • Ordenacao 1x2
    1897 palavras | 8 páginas