Другие языки программирования и технологии

delphi, динамические списки

Народ!
Что нужно знать, чтобы научиться строить однонаправленные и двунаправленные списки, а также сортировку в них?
И чтобы реально понимать как оно все работает(не по шаблону шпарить а реально разбираться в этом)(Чтобы не было ТАНЦЕВ С БУБНОМ)
Хорошо если еще вы дадите ссылки
Как уже писал Олег в Delphi есть классы Tlist и TobjectList
ищи литературу по спискам на Pascal
Хорошо работа со списками описана в книге А. И. Марченко "Программирование в среде Borland Pascal 7.0"
Книги по Си, освящающие этот вопрос, для новичка не годятся, там работа с памятью и указателями реализована немного по другому.

в общем все просто, объявляешь

type
PMyRec = ^TMyRec;

TMyRec = record
PriorRec: PMyRec; // ссылка на предыдущий элемент
NextRec: PMyRec; // ссылка на след элемент
//поля элемента
....
end;

заводишь переменную Cursor: PMyRec; и процедуры Next и Prior
чтобы исключит "танцы с бубном"" описываешь всю эту шнягу в виде класса

короче чтобы научиться строить однонаправленные и двунаправленные списки надо уметь работать с памятью на прямую, знать что такое указатели, записи, уметь создавать классы

Если сильно прижмет пиши, сделаю с подробным описанием что где для чего
Артём Шепелев
Артём Шепелев
68 014
Лучший ответ
Базовые знания: нужно понимать что такое record и указатели. Это реализуется даже на Паскале, причем и знания обьектов не нужно. С обьектами просто все удобнее в конечном счете получится. Но, повторяю, record и указателей будет достаточно. На нем и надо все писать, чтобы разобраться. Ничего сложного, входит в основной курс программирования на любом языке выше бейсика. Многие не заморачиваются "лишними" знаниями, используют готовые классы и библиотеки. Так гораздо проще )).
>Что нужно знать
И самое главное - нужно уметь программировать. Это как бы курс молодого бойца - не способные к программированию не смогут пройти его.
Хершель. Р. Турбопаскаль4.0/5.0
Фeдор Князь
Фeдор Князь
35 996
Надо знать классы (или структуры) .
Суть в том, что каждый элемент списка должен быть структурой или классом для того, чтобы иметь ссылку на следующий элемент (и на предыдущий, если это двунаправленный список) . Таким образом ты сможешь от одного элемента переходить к следующему по этим ссылкам.
А вообще такой механизм имеет место в любом ЯП. Его не нужно реализовывать самому, его до тебя уже сделали, отладили и оптимизировали так, что тебе и не снилось.
Все книги которые тебе посоветуют будут чисто алгоритмическими и опираться на С++, а не на делфи, обычно принято объяснять на этом языке.. . В лучшем случае найдешь на паскале.
По С++ я бы посоветовал Дж. Рихтер. Windows для профессионалов. Создание эффективных WIN32-приложений с учетом специфики 64-разрядной версии Windows