Я пытаюсь проиллюстрировать проблему с двойным соединением. это из старого теста, который я изучал в последнее время.Иллюстрация с двойным соединением
Вопрос заключается в следующем:
сделать то, что окончательный связанный после этого кода:
ListNode n1 = new ListNode();
ListNode n2 = new ListNode();
ListNode n3 = n1;
n1.next = n2;
n3.prev = n1;
n1.next.prev = n3.next;
Где заблудились это последняя строка кода.
n1.next.prev = n3.next;
вот решение:
http://www.imagechicken.com/viewpic.php?p=1242322384048558300&x=jpg
кто может ходить мне через это или привести меня в правильном направлении?
Эта строка, которую вы не понимаете, устанавливает n2.prev для себя. Все узлы предыдущих членов указывают на себя. Следующие члены n1 и n3 указывают на n2. Следующий член n2 не определен. –
Думаю, вам нужно дать немного больше информации по этому вопросу - я не уверен, о чем вы спрашиваете? Почему бы вам не понять, почему работает n1.next.prev = n3.next? Это касается смешения l-значений и r-значений (основная причина для путаницы при изучении указателей)? У вас есть правильная иллюстрация, связанная (вы могли бы включить это и в вопрос). – jamuraa