Попытка создать алгоритм для упорядочения списка строк в алфавитном порядке, используя структуру данных очереди в Java.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Попытка создать алгоритм для упорядочения списка строк в алфавитном порядке, используя структуру данных очереди в Java.

Сообщение Anonymous »

Я новичок в Java и ищу совет. Я изучаю структуры данных очереди и пытаюсь создать алгоритм, который сортирует список строк в порядке возрастания. При сортировке массива в порядке возрастания вы должны создать ключ, который содержит элемент индекса из цикла for.
Это код, который я написал на C++ и который сортирует массив. массив целых чисел в порядке возрастания.

Код: Выделить всё

int array[] = {38, 27, 43, 3, 9, 82,10};
int length_of_array = sizeof(Test1) / sizeof(Test1[1]);

for(int i = 1; i < length_of_array; i++){
int key = array[i];
int j = i - 1;

while(j >= 0 && array[j] > key){
array[j + 1] = array[j];
j--;
}
array[j + 1] = key;
}
Я пытаюсь сделать то же самое на Java, но использую другую структуру данных (очередь) и другой набор данных (строки). Я пытаюсь следовать тем же принципам, что и в коде C++, создавая цикл for, проверяя каждый элемент в очереди и сортируя их в алфавитном порядке.
Я предполагаю, что вы так и сделаете. требуется ключ в цикле for с элементом из текущей позиции. Однако я не могу выделить переменную "ключ" для элемента из индексной точки цикла.

Код: Выделить всё

Queue queue = new LinkedList();

queue.add("Sam");
queue.add("Mary");
queue.add("James");
queue.add("Sarah");
queue.add("Arnold");

for(int i = 1; i < queue.size();i++) {
String key = queue.get(i);
}
Это то, что я до сих пор писал на Java. Я пробовал использоватьqueue.element(), но понял, что он получит только последний элемент из очереди. Пробовал использовать .index() и .get(), но постоянно получал ошибку, поэтому не знаю, как получить элемент из цикла.
Я знаю, что при создании объекта Queue вместо использования LinkedList вы можете использовать PriorityQueue, который автоматически упорядочит список в порядке возрастания, но я пытаюсь создать свой собственный алгоритм при использовании LinkedList, возможно ли это, и если да, то мне нужен совет? Или есть другой лучший алгоритм, который можно написать при использовании Queue.
Причина, по которой я это делаю, заключается в том, что в настоящее время я студент университета, и один из наших модулей связан с алгоритмами. Итак, я пытаюсь придумать алгоритм для сортировки различных типов данных в порядке возрастания и убывания без использования встроенных методов, таких как sort().

Подробнее здесь: https://stackoverflow.com/questions/790 ... etical-ord
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»