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

Мне нужна структура похожая на односвязные список, но у одного

узла может быть несколько хозяев. Это же кейс для использования Rc<RefCell>> ? Если что данные в узле нужно иметь возможность изменить и они являются хэшмапом. Трудно будет такое реализовать на расте?

P.S. наверное корректнее сказать, что на один узел может ссылаться несколько других

11 ответов

23 просмотра

это уже граф

Rustam
это уже граф

https://en.wikipedia.org/wiki/Parent_pointer_tree вот вроде нашёл более конкретное определение того что описываю

Rustam
здесь строго 1 родитель

Да, просто RefCell использовать?

oleja ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ
Да, просто RefCell использовать?

нет, не использовать, массив или массив массивов,

Александр
нет, не использовать, массив или массив массивов,

Как вы сдесь видите массив, можно поинтересоваться?

oleja ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ
Как вы сдесь видите массив, можно поинтересоваться...

графы в общем случае сейчас на массивах правильно делать(и не только в расте), а структура данных задаётся индексами

oleja ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ
Как вы сдесь видите массив, можно поинтересоваться...

Ну вот например хочу я создать новую ветку и иметь старую, мне нужно скопировать все значения в новый массив что-ли? Помойму приведенная структура только на основе односвязного списка и делается

oleja ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ
Ну вот например хочу я создать новую ветку и иметь...

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

Александр
массив массивов, и даже с такой дополнительной ко...

Я уже понял, что так можно сделать. Изначально увидел просто массив. Спасибо

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
1
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Карта сайта