powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / [C#] Про LinkedList: расположение в памяти, количество ссылок в узле
7 сообщений из 7, страница 1 из 1
[C#] Про LinkedList: расположение в памяти, количество ссылок в узле
    #38402301
Bananas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. В одном источнике у типа одна ссылка - на следующий узел, в другом источнике - две: на следующий узел и на предыдущий. Какой вариант правильный?
2. Узлы располагаются в памяти всплошную друг за другом, или могут быть в разбросаны в разных частях памяти?
...
Рейтинг: 0 / 0
[C#] Про LinkedList: расположение в памяти, количество ссылок в узле
    #38402303
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
1. оба правильные.
2. в общем случае - где угодно.
...
Рейтинг: 0 / 0
[C#] Про LinkedList: расположение в памяти, количество ссылок в узле
    #38402612
Bananas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNose, то есть в библиотеке .NET этот тип реализован с двумя ссылками? И что значит "в общем случае"? У типа есть счетчик узлов, но если узлы располагаются в памяти не друг за другом и есть только ссылка на следующий элемент, то пройти цепочку от конца к началу, просто отсчитывая у счётчика, не получится - получив таким образом адрес ожидаемого предыдущего элемента, попадём в чужой участок памяти.
...
Рейтинг: 0 / 0
[C#] Про LinkedList: расположение в памяти, количество ссылок в узле
    #38403307
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bananasто есть в библиотеке .NET этот тип реализован с двумя ссылками?
[зануда]
.NET - не библиотека, а фреймворк! В котором куча библиотек. Поэтому нужно уточнять, о каком классе из какой библиотеки и/или пространства имён идёт речь.
Если имеется в виду System.Collections.Generic.LinkedList<T> - то да, это двусвязный список. То есть в каждом узле содержатся ссылки и на предыдущий узел, и на следующий.
[/зануда]

BananasИ что значит "в общем случае"?
Если узлы добавляются серией, без выделения памяти в других потоках, то они окажутся (могут оказаться) расположенными последовательно. Но гарантии этого нет.

BananasУ типа есть счетчик узлов, но если узлы располагаются в памяти не друг за другом и есть только ссылка на следующий элемент, то пройти цепочку от конца к началу, просто отсчитывая у счётчика, не получится - получив таким образом адрес ожидаемого предыдущего элемента, попадём в чужой участок памяти.
Ну да, всё верно.

Bananas1. В одном источнике у типа одна ссылка - на следующий узел, в другом источнике - две: на следующий узел и на предыдущий. Какой вариант правильный?
Вариант с двумя ссылками позволяет проходить в цикле как он начала к концу, так и наоборот. Но памяти тратится больше.
...
Рейтинг: 0 / 0
[C#] Про LinkedList: расположение в памяти, количество ссылок в узле
    #38403340
revisionist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если узлы гарантированно располагаются в памяти друг за другом - то это массив, а не список и никакие ссылки не нужны
...
Рейтинг: 0 / 0
[C#] Про LinkedList: расположение в памяти, количество ссылок в узле
    #38403672
Кантачес
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot petalvik][quot Bananas]то есть в библиотеке .NET этот тип реализован с двумя ссылками?[/oqut]
[зануда]
.NET - не библиотека, а фреймворк! В котором куча библиотек. Поэтому нужно уточнять, о каком классе из какой библиотеки и/или пространства имён идёт речь.
Если имеется в виду System.Collections.Generic.LinkedList<T> - то да, это двусвязный список. То есть в каждом узле содержатся ссылки и на предыдущий узел, и на следующий.
[/зануда]
[/oqut]
Да, этот класс. Но на мсдне не нашёл других классов LinkedList, хотя и на стекоферфло читал, что есть реализации двусвязные и односвязные. LinkedList<T> - реализация двусвязного списка. А какой тип реализует односвязный?

revisionistесли узлы гарантированно располагаются в памяти друг за другом - то это массив, а не список и никакие ссылки не нужны
Понял.
...
Рейтинг: 0 / 0
[C#] Про LinkedList: расположение в памяти, количество ссылок в узле
    #38403811
Кантачес
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На работе одна учетка, дома другая.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / [C#] Про LinkedList: расположение в памяти, количество ссылок в узле
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]