Я работаю с linkedlists на данный момент в java. Наше задание состояло в том, чтобы создать его с нуля, что сортирует пользовательский ввод (строки) в алфавитном порядке. Я много чего пытался, но ни одна из концепций, которые я придумываю, похоже, не работает. Любые советы/советы будут оценены.Связанный список manual Алфавитная сортировка
package linkedlist;
public class Linked {
Node head;
int listCount;
public Linked(){
head = new Node(null);
listCount = 0;
}
public void add(String data){
Node linkedTemp = new Node(data);
Node linkedCurrent = head;
while (linkedCurrent.getNext() != null) {
linkedCurrent = linkedCurrent.getNext();
}
linkedCurrent.setNext(linkedTemp);
listCount++;
}
public void add2(String data){
Node linkedTemp = new Node(data);
Node linkedCurrent = new Node(get(1));
if(listCount >= 1){
while (linkedCurrent.getNext() != null){
if(linkedCurrent.getData().compareTo(linkedTemp.getData()) <= 0){
linkedCurrent.setNext(linkedTemp);
listCount++;
break;
}
if(linkedCurrent.getData().compareTo(linkedTemp.getData()) >= 0)
linkedCurrent = linkedCurrent.getNext();
}
}
}
public String toString() {
Node linkedCurrent = head.getNext();
String output = "";
while (linkedCurrent != null) {
output += "[" + linkedCurrent.getData().toString() + "]";
linkedCurrent = linkedCurrent.getNext();
}
return output;
}
public String get(int index)
{
if (index <= 0)
return null;
Node linkedCurrent = head.getNext();
for (int i = 1; i < index; i++) {
if (linkedCurrent.getNext() == null)
return null;
linkedCurrent = linkedCurrent.getNext();
}
return linkedCurrent.getData();
}
}
Добро пожаловать в StackOverflow! Спасибо, что разместили свой код - что с ним не работает? Вы получаете исключения или неправильно сортируете узлы? –
Немного обоим. Я часто получаю NullPointers, и я все еще не уверен, правильно ли я нахожусь на правильном пути для его правильной сортировки. Мне также запрещено использовать массивы, чтобы сортировать их. Я пытаюсь реализовать сортировку в методе добавления на данный момент. –