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

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

в расте?

24 ответов

32 просмотра

.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…

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта