русский
Germany.ruForen → Архив Досок→ Programmierung

Ищу алгоритм удаления

27.01.24 23:00
Re: Ищу алгоритм удаления
 
Murr патриот
Murr
in Antwort AlexNek 27.01.24 21:45

1. выкидываешь - size - всегда распределяешь стандартными блоками 512, 1024, 8096

2. выкидываешь - freeblockref - цепочка свободных блоков, если нужна, ведется отдельно

3. выкидываешь - leftnode - скан всегда рута

4. заменяешь - rightnode - на - nextblock - это где лежит продолжение, если не уместился


делаешь другую структуру (имя/ключ(8.3?), firstblock, size, removed)


работает так

- начальная разметка - пустой список ключей и зануленная таблица блоков

- добавил- сделал запись ключа, заполнил занятые блоки, последний пометил мах(н) FFF?

- удалил -- пометил ключ как удаленный

- очистка - зануляешь цепочку nextblock и удаляешь ключ


Таблицу структур имя/ключ пишешь в обычный блок и расширяешь по мере необходимости.

Таблицу nextblok'ов - размещаешь целиком на максимальный размер набора.

Это грубая эмуляция FAT. Код есть на сайтах эмбедеров.

 

Sprung zu