У меня есть следующая программа для сортировки строк по длине. Я хочу сначала напечатать самый короткий элемент. Я не хочу использовать Comparator или любой API для этого. Если бы вы могли, пожалуйста, дать мне информацию о том, где я ошибаюсь, я был бы признателен. PS: Пожалуйста, пройдите по вашим комментариям/downvotes, так как я инженер-химик, и я пытаюсь самостоятельно изучить Java. Только уже месяц :)Сортировка строк в массиве на основе длины
public class SortArrayElements {
public static void main(String[] args) {
String[] arr = new String[]{"Fan","dexter","abc","fruit","apple","banana"};
String[] sortedArr = new String[arr.length];
for(int i=0;i<sortedArr.length;i++)
{
sortedArr[i] = compareArrayElements(arr);
}
System.out.println("The strings in the sorted order of length are: ");
for(String sortedArray:sortedArr)
{
System.out.println(sortedArray);
}
}
public static String compareArrayElements(String[] arr)
{
String temp = null;
for(int i=0;i<arr.length-1;i++)
{
temp = new String();
if(arr[i].length() > arr[i+1].length())
temp = arr[i+1];
else
temp = arr[i];
}
return temp;
}
}
Было бы поучительно для вас реализовать [Quick Sort] (HTTP://en.m.wikipedia.org/wiki/Quicksort). И изучение API * - это изучение языка – Bohemian
Это достойная попытка наивного алгоритма сортировки (Selection Sort), составление сравнений O (n^2). Но вы сравниваете длину соседних элементов массива, никогда не доходя до длины temp. – clwhisk
Также есть такая вещь, как [codereview.stackexchange.com] (http://codereview.stackexchange.com/) – clwhisk