Package br.unip.aps.sorting
Class InstrumentedArray<T>
java.lang.Object
br.unip.aps.sorting.InstrumentedArray<T>
Array que conta leituras, escritas, trocas e comparacoes feitas pelos algoritmos.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceObservador opcional das operacoes (padrao Observer). -
Constructor Summary
ConstructorsConstructorDescriptionInstrumentedArray(T[] dados, Comparator<? super T> comparador, ToLongFunction<? super T> chaveNumerica, OperationCounter contador) InstrumentedArray(T[] dados, Comparator<? super T> comparador, ToLongFunction<? super T> chaveNumerica, OperationCounter contador, InstrumentedArray.Ouvinte ouvinte) Cria o array com um ouvinte de operacoes. -
Method Summary
Modifier and TypeMethodDescriptionauxiliar(int n) Cria um array auxiliar do mesmo tipo, contabilizado no mesmo contador (Merge Sort, Radix).intcompare(int i, int j) Compara as posicoes i e j (2 leituras, 1 comparacao).intcompareValues(T x, T y) Compara dois valores ja lidos (1 comparacao, nenhuma leitura).contador()get(int i) longkey(int i) Chave inteira do elemento na posicao i, para algoritmos que nao comparam (Radix Sort).intlength()booleanless(int i, int j) booleanlessValues(T x, T y) voidvoidswap(int i, int j) Troca os elementos das posicoes i e j (1 troca, 2 leituras, 2 escritas).boolean
-
Constructor Details
-
InstrumentedArray
public InstrumentedArray(T[] dados, Comparator<? super T> comparador, ToLongFunction<? super T> chaveNumerica, OperationCounter contador) -
InstrumentedArray
public InstrumentedArray(T[] dados, Comparator<? super T> comparador, ToLongFunction<? super T> chaveNumerica, OperationCounter contador, InstrumentedArray.Ouvinte ouvinte) Cria o array com um ouvinte de operacoes.
-
-
Method Details
-
length
public int length() -
get
-
set
-
swap
public void swap(int i, int j) Troca os elementos das posicoes i e j (1 troca, 2 leituras, 2 escritas). -
compare
public int compare(int i, int j) Compara as posicoes i e j (2 leituras, 1 comparacao). -
less
public boolean less(int i, int j) -
compareValues
Compara dois valores ja lidos (1 comparacao, nenhuma leitura). -
lessValues
-
auxiliar
Cria um array auxiliar do mesmo tipo, contabilizado no mesmo contador (Merge Sort, Radix). -
key
public long key(int i) Chave inteira do elemento na posicao i, para algoritmos que nao comparam (Radix Sort). -
temChaveNumerica
public boolean temChaveNumerica() -
contador
-