|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.04.2011, 06:52 | #1 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
Двунаправленный связный список
Возникла необходмость создать список. TList не подходил для решения этой задачи, так как нужен механизм быстрой вставки и удаления элементов. Вот создаю двунаправленный связный список. Пока на паскале, потом уже на basm буду перебивать.
Может кто глянет и чего скажет SibListExample.zip Вот еще делал для себя маленькую программу сравнения с TList. SibList vs List.zip Не смотря на громкое название прошу не судить строго. Сам всё понимаю. Особенно прошу не обращать внимания на сортировку, она покамисть сделана топорно, шобы было, так сказать. З.Ы.: Ну и конечно же, СОРИ за отсутствие коментов. Если что спрашивайте. А то писать коменты в коде, который потом может почти полностью измениться чего-то не хочется. |
19.04.2011, 20:22 | #2 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Вы не указали, как это будет применяться. Может таких проблем и не возникнет, но все-таки: На получится так, что поиск элемента, перед которым нужно вставить, не съест все преимущества быстрой вставки ?
Может все-таки лучше сбалансированное дерево, а не список ? А внешне оформить его как список. Вот неплохой вариант с O(log N) |
20.04.2011, 05:43 | #3 | ||
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
Цитата:
Другой вариант. Необходимо в список с координатами Z = (2 3 5 9 10 15 21) добавить другой список (8 11 20). Вот как это я собираюсь делать (подчеркнут текущий элемент): Код:
Цитата:
Вообще, очень много проблем оказалось связано с First И Last. Мне нужно знать начало и конец списка, но почти при каждой операции приходится тратить на них дополнительные ресурсы. |
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Связный список С++ | Шёпот | Общие вопросы C/C++ | 2 | 01.04.2011 22:56 |
Связный список векторов | Kekcuk | Общие вопросы C/C++ | 0 | 13.12.2010 21:00 |
Циклический связный список | Micar | Общие вопросы C/C++ | 1 | 08.06.2010 20:28 |
Инвертировать связный список | levandowskiy | Общие вопросы C/C++ | 2 | 21.08.2009 15:20 |
Как заполнить связный список? | levandowskiy | Общие вопросы C/C++ | 1 | 18.08.2009 09:00 |