- Форум
- Тийн интереси и проблеми
- Училище и приятели
- Информатика/Програмиране (пишете програмния език)
Можем да имплементираме елементите на динамичния стек така:
struct StackElement
{
int m_data;
StackElement* m_next;
};
Както виждаш, второто поле от структурата сочи отново към елемент от тая структура и това прави динамичната връзка. Така, в даден момент от програмата можеш да си създадеш елемент или да вземеш някой готов и да си го закачиш, като просто насочиш този указател към него.
За да направиш самия стек, не само елементът му, ще трябва да създадеш два елемента - top и bottom от типа StackElement. Top ще е върхът на стека, а bottom - дъното и първоначално ще съвпадат.
Добавянето на елемент ще става по следният начин. Създаваш нов StackElement, насочваш top.m_next към него и след това върхът става новодобавеният елемент (top=*top.m_next).
Премахването на елемент също трябва да премахва елемент от върха.
Методът на пряката селекция можеш да го намериш в google, той не е кой знае кво, просто трябва да го напишеш на стековски език (да видиш как да го направиш за твоята имплементация на стека).
Четенето и писането във файл също можеш с google да си го изровиш, не е нещо особено.
Ако ще подхождаш обектно-ориентирано, ще имплементираш клас стек, който да държи полета top и bottom, да реализира голямата четворка и да направиш методите от условието (ReadFromFile, Sort, WriteToFile, DisplayElementByIdx). Има много англоезични и достатъчно български книги на темата, можеш от ресурсите на ФМИ да си намериш лекции по СДП и да видиш как е направена обектно-ориентирано структурата.
Менюто надали изисква разяснения - един цикъл с условие за прекратяване на програмата и на всяка стъпка се чете избор на потребителя, след което се извършва желаната операция.
ПС: Както винаги, ако имаш въпроси, питай. Тоя път съм нахвърлял съвсем бегло нещата, май все така се случва като ти помагам, ще ме прощаваш. ^^
Последно редактирано от Chacho : 09-18-2013 на 14:59
Има 10 вида хора. Тези, които могат да четат двоичен код и тези, които не могат.