Я пытался выяснить, что связанный список за последний час & Я узнал, что он содержит узлы и ссылку. Что это за узел? Как вы определяете связанный список в java? Хотя я читал другую программу, но я хочу самый простой, не используя никакой прямой функции. Как работать и получать доступ к связанному списку? И как вы храните ссылку и узлы? Это несколько вопросов, о которых я смущен. Спасибо, и любая часть ответа будет оценена по достоинству.Как начать связанный список?
ответ
Связанный список - это упорядоченный список, в котором один узел ссылается на следующий. Ваш список должен отслеживать текущий узел, который содержит ссылку на следующий узел. Когда список итерируется, текущий узел переключается на следующий узел, который содержит ссылку на следующий узел. Цикл продолжается оттуда.
Простой поиск в Google показывает много информации о LinkedList. Это wikipedia page объясняет это довольно хорошо.
Возможно, иллюстрация интерфейса узла поможет.
public interface Node(){
public Node next();
public Node prev();
}
С помощью этого интерфейса можно создать «цепочку» узлов, так как узел имеет ссылку на следующий и предыдущий узлы.
Должен заметить, что я, возможно, неправильно понял ваш вопрос, я думал, что вы хотите создать свою собственную реализацию.
Реализация не то, что вам нужно беспокоиться о том, чтобы иметь возможность использовать этот список:
List<String> yourList = new LinkedList<String>();
yourList.add("item1");
yourList.add("item2");
// etc
// iterating example
for(String currentNodeElementOrWhatever : yourList) {
// use this element somehow
System.out.println(currentNodeElementOrWhatever);
}
в этом случае «item1» и «item2» являются узлами, и они имеют ссылку на их следующий узел, так что item1 -> item2 и item2 -> null, поскольку это последний элемент.
Спасибо :) Где и как использовать ссылки. Является ли он реализован автоматически или мне нужно также реализовать ссылки. И в случае целого числа я могу использовать
ссылки - это всего лишь подробности реализации, я могу предоставить больше информации, но если вы просто хотите начать работать, вам действительно не нужно это прямо сейчас. Вы можете использовать int, но вы должны объявить список следующим образом: List
Спасибо за помощь. :) – Neer
Вот пример класса для узла.
public class Node<T>{
Node next;
T value;
}
Пример реализации псевдо-кода для LinkedList:
Add(val){
Node newNode = new Node();
newNode.next = firstNode;
tailNode.next = newNode;
newNode.value = val;
}
Get(idx){
Node currentNode = firstNode;
while(idx--!= 0)
currentNode = currentNode.next;
return currentNode.value;
}
Delete(idx){
Node nodeToRemove= firstNode;
while(idx-- > 0)
nodeToRemove= currentNode.next;
nodeToRemove.next = null;
}
- 1. Вставьте связанный список в другой связанный список
- 2. Связанный список и двойной связанный список
- 3. Как перебирать связанный список
- 4. Как клонировать связанный список?
- 5. как сортировать связанный список?
- 6. Как работает связанный список?
- 7. Как отсортировать связанный список
- 8. Как перевернуть связанный список?
- 9. Как удалить связанный список?
- 10. Как распечатать связанный список?
- 11. связанный список
- 12. Связанный с Python Связанный список
- 13. Как сохранить связанный список (двойной связанный список?) В файл?
- 14. Как вставить связанный список в другой связанный список?
- 15. Как преобразовать связанный список в круговой связанный список?
- 16. Статический список, связанный список
- 17. связанный список
- 18. Как разделить связанный список в два список
- 19. Связанный список Совет
- 20. Как отменить связанный список C++
- 21. Rust: Как реализовать связанный список?
- 22. C-string как связанный список?
- 23. Как перезапустить двойной связанный список?
- 24. Как мы показываем связанный список?
- 25. Как работает разворачиваемый связанный список
- 26. Как правильно уничтожить связанный список?
- 27. Disjoint set как связанный список
- 28. Как проверить связанный список ADT?
- 29. Связанный список Назначение школы
- 30. Добавить в отсортированном Связанный список
Это может быть найдено с чуть-чуть исследований. Пойдите, затем попробуйте примеры. Если у вас есть проблема, задайте другой вопрос. –
проверить этот вопрос http://stackoverflow.com/questions/10167450/linkedlist-java-traverse-and-print – Satya
Я сказал, что проверил множество программ. Я просто не могу понять. Я использую только массивы. @PreetSangha – Neer