Я должен реализовать сортировку выбором в Java в соответствии с этими параметрами:
Реализуйте вариант SelectionSort, который находит как самые маленькие, так и самые большие элементы при просмотре списка и размещает их в начале и конце списка соответственно. На первом проходе сканируются элементы x0,...,xn-1; на втором проходе сканируются элементы x1,...,xn-2; и так далее.
Я передаю методу массив размером 32, и когда я печатаю массив, он не сортируется. Что случилось с моим кодом?
static void selectionSort() {
scramble();
int smallIndex = 0; //index of smallest to test
int largeIndex = array.length - 1; //index of largest to test
int small = 0; //smallest
int large; //largest
int smallLimit = 0; //starts from here
int largeLimit = array.length - 1; //ends here
int store; //temp stored here
int store2;
for(int i = 0; i < array.length/2; i++) { //TODO not working...
small = array[smallLimit];
large = array[largeLimit];
for(int j = smallLimit; j <= largeLimit; j++) {
if(array[j] < small) {
smallIndex = j;
small = array[j];
}
else if(array[j] > large) {
largeIndex = j;
large = array[j];
}
}
store = array[smallLimit];
store2 = array[smallIndex];
array[smallLimit] = store2;
array[smallIndex] = store;
store = array[largeLimit];
array[largeLimit] = array[largeIndex];
array[largeIndex] = store;
smallLimit++;
largeLimit--;
}
print();
}