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

Здравствуйте а как удалить элемент из двусвязного списка из середины

в расте?

24 ответов

13 просмотров

.remove() вроде

Kelbon- Автор вопроса
Dmytro Polunin
.remove() вроде

так его искать придётся же, я хочу как в С++ по итератору удалить чтобы за О(н) не искать

Kelbon
так его искать придётся же, я хочу как в С++ по ит...

Всмысле по итератору удалить? По итератору будет O(n) как раз

Kelbon
так его искать придётся же, я хочу как в С++ по ит...

Смотри вот сюда и выбери коллекция которая тебе нужна https://doc.rust-lang.org/std/collections/index.html#sequences

0. Выкинуть двухсвязный список. 1. Да, из плюсового кода тоже. 2. Порешать различные олимпиады, чтобы понять, что двухсвязные списки, в общем-то, не нужны. 3. Только в редчайших случаях ими пользоваться.

Kelbon- Автор вопроса

ээ, списки это очень полезная структура и нужная... И если её добавляют в стандартную библиотеку она должна поддерживать базовые операции

Kelbon
ээ, списки это очень полезная структура и нужная.....

https://kjellkod.wordpress.com/2012/02/25/why-you-should-never-ever-ever-use-linked-list-in-your-code-again/

Kelbon- Автор вопроса
Traveller Kolsky
https://kjellkod.wordpress.com/2012/02/25/why-you-...

если на расте нельзя написать нормальный двусвязный список это не значит что его нельзя использовать

Traveller Kolsky
https://kjellkod.wordpress.com/2012/02/25/why-you-...

мне, как человеку, что не супер хорошо прошарен в алгоритмах, а тем более в оптимизациях, интересно, неужели linked-list такая популярная структура данных. Понятно, что она базовая и простая в логике, но медленнее индексных (если правильно их так называть) структур данных вроде вектора, а места, где вот действительно необходим именно linked-list (настолько, что без него решение было бы уродским или просто невозможным) я придумать не могу, так как, повторюсь, опыта в таком нет. Приходит в голову фп-стиль, но я уверен, там можно либо оптимизациями, либо какими-то другими структурами данных, избавиться от него. Я против какого-то радикального подхода, вроде "в нашем языке linked-list запрещен", но также интересно, насколько он важен для Вас, как разработчиков, потому что мне не приходилось его использовать вне алгоритмических задач, только если яп его сам не навязывает, как дефолт, например.

Traveller Kolsky
0. Выкинуть двухсвязный список. 1. Да, из плюсовог...

А. Вот увидел это сообщение. Почему 2 и 3, и в случае 3, какие случаи есть, где это оправдано?

Kelbon
ээ, списки это очень полезная структура и нужная.....

Ага, вот такое без извращений с linked list-ами, кажется, сделать не получится… И тут сплайсинг обязателен

Kelbon
что же там сложного?

Сейф апи сделать сложно, не?

Kelbon
что же там сложного?

Уфф… Я забыл скрин запостить………

hazer_hazer
мне, как человеку, что не супер хорошо прошарен в ...

ну так много где используется -- при разрешении коллизий в hashmap, при реализации non blocking data structures, всякие там skip list и вообще дофига где

Kelbon- Автор вопроса
Пух
Сейф апи сделать сложно, не?

С++ как то справляется, не помню чтобы кто то жаловался что сломал себе лист через erase

Kelbon
С++ как то справляется, не помню чтобы кто то жало...

Не справляется, но там и цели такой нет

Kelbon- Автор вопроса
Владимир Латыпов
В C++ нет safe api…

по такой логике можно запретить всё и сказать что можн осовершить ошибку

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

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

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
открыть папку в проводнике: 1 - ShellExecute 2 - ExecuteProcess 3 - OpenDocument что лучше выбрать?
Alexey Kulakov
12
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
10
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Карта сайта