поэтому я работаю над своей программой, которая сортирует случайные числа, используя методы сортировки, такие как быстрая сортировка и сортировка пузырьков. я написал коды, и я понял, что мои коды повторяют, но я не знаю, как сократить их, потому что они очень похожи, но некоторые признаки различны ...
Например,
Java, как я могу сделать этот код короче?
if (radioButAscending.isSelected()){ //ascending order
for(int i=0;i<numbers.size()-1;i++){
int minNum=i;
for (int j=i+1;j<numbers.size();j++){
if(numbers.get(j)<numbers.get(minNum)){
tempNum=numbers.get(i);
numbers.set(i,numbers.get(j)); //change numbers[i] to numbers[j] (numbers.get(i) = numbers.get(j))
numbers.set(j,tempNum); //numbers.get(j)=tempNum
}
}
}
showSortedNumbers();
} else { //descending order
for(int i=0;i<numbers.size()-1;i++){
int minNum=i;
for (int j=i+1;j<numbers.size();j++){
if(numbers.get(j)>numbers.get(minNum)){
tempNum=numbers.get(i);
numbers.set(i,numbers.get(j)); //change numbers[i] to numbers[j] (numbers.get(i) = numbers.get(j))
numbers.set(j,tempNum); //numbers.get(j)=tempNum
}
}
}
showSortedNumbers();
}
это мои коды, и, как вы видите, коды очень похожи, кроме этих кодов; if(numbers.get(j)<numbers.get(minNum)){ if(numbers.get(j)>numbers.get(minNum)){
так что мой вопрос ... как я могу сделать это короче? Я попытался сделать подпрограмму, но знак был другим, поэтому я не мог этого сделать. Пожалуйста, помогите ребятам. Спасибо большое! :)
отсортировать одну или другую, и использовать некоторую форму обратной() –