У меня возникла проблема с выбором выбранного алгоритма сортировки для сортировки строк в массиве в алфавитном порядке. Мой код как есть, полный беспорядок.Выбор алгоритма сортировки для строк
public class sorting {
public void getArray(String [] a) {
int min = 0;
int minIndex = 0;
for (int j = 0; j < a.length; j++) {
for (int i = j; i < a.length; i++) {
if (i == j) {
a[min] = a[j];
}
if (a[min].compareTo(a[i]) < 0) { // if current element is < lowest, assign new lowest.
a[min] = a[i];
minIndex = i;
} // end of if
} // end of INSIDE for
a[minIndex] = a[j]; // place first element at the location of the smallest element.
a[j] = a[min]; // place the smallest element value in the first spot.
} // end of OUTSIDE for
}
Может ли кто-нибудь объяснить мне, как их мыслительный процесс происходит по этому поводу? Например, что делает внутренний цикл for вне внешнего? Спасибо заранее!
Чтобы сделать это немного более совместимым с мозгом: будет ли внешняя петля рассматриваться как «макро?»? как в том случае, когда все элементы находятся в их конечных положениях, а внутренняя петля считается «Микро»? в том, что найден самый маленький элемент? – Destinox
@Destinox да, эта логика правильная. И если вы хотите назвать эти петли «макро» и «микро», будьте моим гостем;) –
Обновление: строки проходят через этот метод. Как будет работать min (целое число) в этом сценарии? – Destinox