170 похожих чатов

Вопрос, вы связные списки создаете в своих проектах?) или это

уже атавизм и можно выкинуть из головы

37 ответов

27 просмотров

Если задаешься такими вопросами, значит оно тебе не нужно

Nik-M Автор вопроса
Phantom
Если задаешься такими вопросами, значит оно тебе н...

просто перелистываю старые тетрадки, а там какие то списки) вообще про них забыл уже

Любая структура данных нужна под конкретные задачи, это все равно, что спросить "а деревья вы используете?". Если задач нет подходящих - это не значит, что структура данных мертва

Ну знать, что это такое и как делается, просто для общего уровня не лишнее, но по факту это сейчас, по крайней мере, в дотнете всё делается библиотеками.

Если проекты тривиальные и обычные, то там можно и за годы не встретить деревья или какие-то там иные особые структуры, а если что-нибудь алгоритмическое типа оптимизации склада (WMS-системы) или логистика или ещё что-то, то можно встречать чуть ли не неделю через неделю. Тут как повезёт (ну или не повезёт).

Nik-M Автор вопроса

ну в индексаторе хотя бы по индексу можно обратиться к элементу, а в списке нифига

Ap6ye Ap6ye
Если проекты тривиальные и обычные, то там можно и...

ну технически мы с деревьями вообще постоянно работаем, просто это скрыто от нас обычно, и даже в простых проектах но в целом да - в большинстве случаев даже заморачиваться нет смысла

Evgeniy
Любая структура данных нужна под конкретные задачи...

А есть пример, где линкедлист будет лучше массива?

Evgeniy
ну технически мы с деревьями вообще постоянно рабо...

Ну у меня бывали задачи, где прям надо было обход писать, но нечасто.

Phantom
А есть пример, где линкедлист будет лучше массива?

бесконечно большие чанки данных под которые блоб не выделить полноценно

Phantom
А есть пример, где линкедлист будет лучше массива?

По каким критериям лучше? Вопрос будто на тостере в 2011 заданный

Phantom
А есть пример, где линкедлист будет лучше массива?

Описание конвейера, где каждый следующий шаг зависит от предыдущего и делается только в случае успеха предыдущего. Конкретно практический пример — пошаговый лексический разбор сообщения с разбиением на подобъекты. К следующему шагу анализа нет смысла идти и сохранять его, если на предыдущем что-то пошло не так.

ни разу им не пользовался. но в дотнете из коробки есть его реализация

Phantom
И почему здесь не применим массив?

Потому что важно сохранять последовательность и состояние?

Phantom
В производительности конечно же

Думаю и сами знаете, что добавление/удаление из конца/начала и без частой необходимости доставать элементы

Phantom
И почему здесь не применим массив?

И да, задачка очень специфическая, была на очень нишевом проекте по разбору особых кодированных сообщений для авиации. В обычных реалиях такое и правда нечасто бывает.

каждый раз когда юзаю стрингбилдер?

Nik-M Автор вопроса
floitet malenavaka
каждый раз когда юзаю стрингбилдер?

Стрингбилдер не построен на связанном списке

Phantom
А ты уверен?

мне за тебя в репу дотнета сходить?

floitet malenavaka
мне за тебя в репу дотнета сходить?

Первоначальная длина составляет 16 символов, а при нехватке места для добавления новых символов StringBuilder заменяет внутреннюю строку на строку длиною в два раза больше и копирует во вновь созданную все символы из предыдущей + новые. Удвоение длины строки приводит к линейной сложности (O(n)) по памяти, в отличие от квадратичной, которая присуща обычным строкам.

Nik-M Автор вопроса
moiseenko
Первоначальная длина составляет 16 символов, а при...

это List<T> так делает, ток там увеличение на 4 элемета

moiseenko
Первоначальная длина составляет 16 символов, а при...

я думал там лист строк, а там просто строка

Nik M
это List<T> так делает, ток там увеличение на 4 эл...

Читайте доки. Стрингбилдер построен на динамическом массиве, в .net это Лист

moiseenko
Читайте доки. Стрингбилдер построен на динамическо...

дак на листе или на строке?)) в том, что ты скинул, 0 слов о листе

Nik-M Автор вопроса

тащусь от ILSpy, все верно увеличивает на 16 элементов

Nik M
тащусь от ILSpy, все верно увеличивает на 16 элеме...

выше кинул ссылку, прошу к ознакомлению с докой вашего языка

Похожие вопросы

Обсуждают сегодня

Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
38
Проблема с Windows scripting control Множество объектов получают iDispatch обертки и отдаются в скрипты. При этом скрипты могут эти обертки держать живыми очень долго, наприм...
Arioch The
16
Я тут пытаюсь переработать архитектуру подсистемы памяти ядра во что-то осмысленное. Есть pmm, который создает набор range’ей(пока что только для ядра, потом для юзерспейса), ...
Evg Resh
9
Скажите, можно ли как-то "переместить" динамический массив из одной переменной в другую? Скажем, переместить из TList<> в TArray<>. Именно переместить, а не скопировать. Если ...
Eugene Krasnikov (ᴊɪɴ x)
37
комрады, че-та лыжы не едут var tmpFont: TFont; begin tmpFont:= TFont.Create; try case rgFontColor.ItemIndex of 0: tmpFont.Color:= clWindowText; 1: tmpFo...
Ed Doc
34
Вот еще криповенькая штука. uMain.pas(517,3) Warning: Case statement does not handle all possible cases И ЧО? 😂
Александр (Rouse_) Багель
20
Интересно, нет ли какого-то способа получить из dll не адрес самой метки, а адрес со смещением?
The Bird of Hermes
54
коллеги, а есть простой способ определить, что программу из под Delphi запускают?
Михаил
10
40 тысяч в час / 3600 = 11,11 в секунду... Вам точно нужна очередь? (я просто не знаю "контекста") Такое количество запросов любое приложение замечательно "прожует" и не попер...
Igor Mitin
5
М-да. Почему бы просто со stringlist не работать?
Michael Longneck
23
Карта сайта