Package br.unip.aps.sorting
Interface SortAlgorithm
- All Known Implementing Classes:
BubbleSort,CountingSort,DualPivotQuickSort,HeapSort,InsertionSort,IntroSort,MergeSort,QuickSort,QuickSort3Way,RadixSort,SelectionSort,ShellSort,TimSortSimplificado
public interface SortAlgorithm
Contrato comum de todos os algoritmos de ordenacao (padrao de projeto Strategy).
-
Method Summary
Modifier and TypeMethodDescriptiondefault booleanaceitaFaixa(long minimo, long maximo) Indica se o algoritmo consegue ordenar chaves nesse intervalo (o Counting Sort so aceita intervalos pequenos).default booleanIndica se o algoritmo precisa de uma chave numerica em vez de um comparador (Radix Sort).nome()<T> voidordenar(InstrumentedArray<T> a) Ordena in-place o array instrumentado.default <T> OperationMetricsordenar(T[] dados, Comparator<? super T> comparador) Ordena um vetor in-place e devolve as metricas da execucao.default <T> OperationMetricsordenar(T[] dados, Comparator<? super T> comparador, ToLongFunction<? super T> chaveNumerica) Ordena um vetor in-place e devolve as metricas da execucao.
-
Method Details
-
nome
String nome() -
complexidade
Complexidade complexidade() -
descricao
String descricao() -
ordenar
Ordena in-place o array instrumentado. -
exigeChaveNumerica
default boolean exigeChaveNumerica()Indica se o algoritmo precisa de uma chave numerica em vez de um comparador (Radix Sort). -
aceitaFaixa
default boolean aceitaFaixa(long minimo, long maximo) Indica se o algoritmo consegue ordenar chaves nesse intervalo (o Counting Sort so aceita intervalos pequenos). -
ordenar
Ordena um vetor in-place e devolve as metricas da execucao. -
ordenar
default <T> OperationMetrics ordenar(T[] dados, Comparator<? super T> comparador, ToLongFunction<? super T> chaveNumerica) Ordena um vetor in-place e devolve as metricas da execucao.
-