В Java ссылка может быть инициализирована нулем. Однако в C++ это вызовет проблему. Поэтому не уверен, как использовать ссылку только для реализации связанного списка.Как реализовать связанный список в ссылке без использования указателя
ответ
Я не знаю, насколько полезно это понятие, но вы можете сделать это с помощью std::reference_wrapper,
следующим образом:
#include <iostream>
#include <list>
#include <functional>
using namespace std;
int main() {
int a = 2, b = 6, c = 1;
list<reference_wrapper<int>> mylist;
mylist.push_back(a);
mylist.push_back(b);
mylist.push_back(c);
for(auto x : mylist) {
cout << x << " ";
}
cout << endl;
a = 3; // <- this setting will modify mylist!
for(auto x : mylist) {
cout << x << " ";
}
return 0;
}
Я бы порекомендовал обучения C++ способы обработки вещей, особенно, что вы едете из Java мира , Demo!
Хотя ваш ответ правильный. Это может быть непонятно ОП, который не хорошо осведомлен о указателях/ссылках на C++. Не обижайся никому! – Ajay
@ Ajay Я согласен. Но я просто хотел показать возможности :) –
Я не уверен, почему вы хотели бы использовать ссылки в C++, поскольку ссылка не может быть нулевой в C++, как вы сказали. Что бы вы сделали, если дошли до конца связанного списка.
Ваше единственное решение (поскольку вы новичок в C++) заключается в использовании указателей, подобных этому.
struct Node{
int value;
Node* next;
}
Таким образом, вы можете оставить указатель, называемый далее нулевым, и это означало бы конец связанного списка.
- 1. Как вручную реализовать Связанный список в Java без использования конструктора?
- 2. Rust: Как реализовать связанный список?
- 3. Как реализовать связанный список в Java?
- 4. Связанный список без использования коллекций в Java
- 5. Как скопировать связанный список в другой список без использования рекурсии
- 6. Связанный список - проверка указателя NULL?
- 7. Связанный список обратный без использования цикла?
- 8. реализовать связанный список в C
- 9. скопируйте связанный список ... без использования клона
- 10. Как реализовать круговой связанный список в Java?
- 11. Массив указателя на связанный список
- 12. Как реализовать связанный список в java?
- 13. Как распечатать обратный связанный список без использования рекурсии в Java?
- 14. Как добавить значения в связанный список без использования «->»?
- 15. Связанный список без дубликатов
- 16. Передача указателя на связанный список в C++
- 17. Проверить связанный список как Palindrome Без использования STACK
- 18. Как реализовать связанный список с двумя структурами
- 19. Правильное освобождение указателя на связанный список
- 20. Связанный список без struct
- 21. Как реализовать связанный список с помощью массива
- 22. Как реализовать Связанный список с помощью стека
- 23. Не удалось реализовать связанный список в C++
- 24. Как реализовать связанный список с помощью HashMap в java
- 25. Реализовать алгоритм для вставки узла в круговой связанный список без прохождения его
- 26. Как реализовать Function.prototype.apply без использования?
- 27. Как реализовать XOR без использования ^?
- 28. Связанный список в C без malloc
- 29. Как реализовать связанный список в fortran 2003-2008
- 30. Показать связанный список: Ошибка исключения нулевого указателя
Вы не можете. Используйте указатели. –
@lightrek Считаете ли вы использование интеллектуальных указателей. Как unique_ptr? – bashrc
Возможный дубликат [Является ли реализация Linked-List без использования указателей или нет?] (Http://stackoverflow.com/questions/3002764/is-a-linked-list-implementation-without-using-pointers-possible- or-not) – drorco