|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.12.2010, 03:22 | #1 |
Форумчанин
Регистрация: 07.11.2009
Сообщений: 218
|
Организация стека
Здравствуйте! Мне нужно организовать стек очереди для любого типа данных не используя массивы в том числе и динамические. Помогите пожалуйста. Не когда не имел дело со стеком, вот почему и создал эту тему. Если можно с описанием, очень нужно. Заранее очень благодарен!
Я бы изменил мир, но Бог не дает исходников...
Если помог, нажми на весы и поставь плюс - в знак благодарности |
10.12.2010, 05:57 | #2 |
Форумчанин
Регистрация: 01.09.2009
Сообщений: 151
|
Мне кажется, что Вы не совсем понимаете, чего хотите.
Нельзя организовать стек очереди. Можно организовать стек, очередь, стек очередей или очередь стеков Тем не менее, посмотрите модуль Contnrs, там скорее всего есть то, что Вам нужно. Это стандартный (по крайней мере для Delphi 7) модуль, в котором есть такие классы: TStack - реализация стека для указателей TQueue - реализация очереди для указателей TObjectList - список объектов TObjectQueue - очередь объектов TObjectStack - стэк объектов и много другого, нужного и полезного Это если надо уже что-то готовое. Если же надо написать собственную реализацию для учебных целей, то можно почитать книгу "Фундаментальные алгоритмы и структуры данных в Delphi". Найти и скачать её будет не очень трудно. |
10.12.2010, 06:20 | #3 | |
Форумчанин
Регистрация: 07.11.2009
Сообщений: 218
|
Цитата:
Можно либо какой примерчик по поводу организации стека хотя бы.
Я бы изменил мир, но Бог не дает исходников...
Если помог, нажми на весы и поставь плюс - в знак благодарности |
|
10.12.2010, 09:00 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
TStack чем не устроил? Примеры в хелпе есть. Описание там же.
I'm learning to live...
|
11.12.2010, 14:02 | #5 |
Пользователь
Регистрация: 14.09.2010
Сообщений: 37
|
Организация стека:
Type DataType=Pointer;//Тип данных стека.. Можно использовать указатель на //что угодно или лобой тип (Integer,TPoint и т.д.) PStack1=^TStack1; TStack1=record Data:DataType; Next:PStack1; end; Это - своего рода зацикливание. Для хранения стека необходима одна переменная типа PStack1. Принцип такой: Next указывает на следующий элемент или, если Next=nil, на то, что стек закончился (пуст, если указатель на стек равен nil). В стеке реализован принцип LIFA (Last In First Out)... Я загрузил свой стек... Только там DataType - это базис векторов)))) Замените его на Pointer и все будет нормально.... Для инициализации стека нужно лишь указателю присвоить nil. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Переполнение стека | NoHeart | Общие вопросы Delphi | 8 | 08.11.2009 16:03 |
Переполнение стека | Ake | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 30.05.2009 22:39 |
Реализация Стека | MjRed | Общие вопросы C/C++ | 3 | 13.05.2009 12:18 |
Заполнение стека | inkvizitor | Общие вопросы Delphi | 5 | 08.10.2007 17:01 |