 Добро пожаловать,
|
|
|
|
|

|
�аши партнеры
|
|
|
|
|
|
Книги-online
Ëàáîðàòîðíàÿ ðàáîòà ¹7
Ëàáîðàòîðíàÿ ðàáîòà ¹7
Ñòåê
Öåëü ðàáîòû:
Çàêðåïèòü òåõíèêó ðàáîòû ñ äèíàìè÷åñêèìè ñòðóêòóðàìè äàííûõ íà ïðèìåðå ñòåêà. Ðàññìîòðåòü îñíîâíûå îïåðàöèè ñî ñòåêîì è ïîçíàêîìèòñÿ ñ òèïè÷íûìè ïðèìåðàìè ïðèìåíåíèÿ ñòåêà.
Îáùèå ñâåäåíèÿ
Ñòåê – óïîðÿäî÷åííûé íàáîð ýëåìåíòîâ, â êîòîðîì äîáàâëåíèå íîâûõ ýëåìåíòîâ è óäàëåíèå ñóùåñòâóþùèõ ïðîèçâîäèòñÿ ñ îäíîãî êîíöà, íàçûâàåìîãî âåðøèíîé ñòåêà.
 ëþáîé ìîìåíò âðåìåíè äîñòóïåí ëèøü îäèí ýëåìåíò ñòåêà – âåðõíèé. Èçâëåêàòü ýëåìåíòû èç ñòåêà ìîæíî òîëüêî â ïîðÿäêå, îáðàòíîì èõ äîáàâëåíèÿ â ñòåê (ïåðâûì ïðèøåë, ïîñëåäíèì óøåë).
Çíà÷åíèåì óêàçàòåëÿ, ïðåäñòàâëÿþùåãî ñòåê, ÿâëÿåòñÿ ññûëêà íà âåðøèíó ñòåêà, êàæäûé ýëåìåíò ñòåêà ñîäåðæèò ïîëå ññûëêè íà ñëåäóþùèé ýëåìåíò.
Òàêèì îáðàçîì, îïèñàòü ñòåê, ñîäåðæàùèé, íàïðèìåð, öåëûå ÷èñëà, ìîæíî ñëåäóþùèì îáðàçîì:
Type
PStack = ^TStack;
TStack = Record
Data : Integer;
Next : PStack;
end;
Var
Stack : PStack;
Åñëè ñòåê ïóñò, òî çíà÷åíèå ïåðåìåííîé Stack ðàâíî nil.
Ïðèìåðû
Çàíåñåíèå â ñòåê.
Çàíåñåíèå â ñòåê ïðîèçâîäèòñÿ àíàëîãè÷íî âñòàâêå íîâîãî ýëåìåíòà â íà÷àëî ñïèñêà:
Var
x : PStack;
……………
New(x);
x^.Data := …….;
x^.Next := Stack;
Stack := x;
……………
Èçâëå÷åíèå ýëåìåíòà èç ñòåêà.
 ðåçóëüòàòå âûïîëíåíèÿ ýòîé îïåðàöèè íåêîòîðîé ïåðåìåííîé N äîëæíî áûòü ïðèñâîåíî çíà÷åíèå ïåðâîãî ýëåìåíòà ñòåêà è èçìåíåíî çíà÷åíèå óêàçàòåëÿ íà íà÷àëî ñòåêà:
Var
N : Integer;
x : PStack;
………………….
N := Stack^.Data;
x:= Stack;
Stack := Stack^.Next;
Dispose(x);
………………….
Êîíòðîëüíûå âîïðîñû
1.  ÷åì ñõîäñòâî è îòëè÷èå äèíàìè÷åñêèõ ñòðóêòóð äàííûõ òèïà ñïèñîê è ñòåê?
2. Ìîæíî ëè äîáðàòüñÿ äî ñåðåäèíû èëè êîíöà («äíà») ñòåêà, ìèíóÿ åãî íà÷àëî («âåðøèíó»)?
3. Ïðèâåäèòå ïðèìåðû èç æèçíè, ãäå âñòðå÷àåòñÿ «ïðèíöèï ñòåêà».
4. Îôîðìèòå â âèäå ïðîöåäóðû Push çàíåñåíèå â ñòåê çíà÷åíèÿ.
5. Îôîðìèòå â âèäå ïðîöåäóðû Pop èçâëå÷åíèå çíà÷åíèÿ èç ñòåêà.
Âàðèàíòû çàäàíèé
1. Ïîäñ÷èòàòü êîëè÷åñòâî ýëåìåíòîâ â ñòåêå.
2. Ñôîðìèðîâàòü ñòåê, ñîäåðæàùèé ñòðîêè è ñîõðàíèòü åãî â òåêñòîâîì ôàéëå.
3. Âîññòàíîâèòü ñòåê, ñîäåðæàùèé ñòðîêè, èç òåêñòîâîãî ôàéëà.
4. Íàïèñàòü ôóíêöèþ, êîòîðàÿ âû÷èñëÿåò ñðåäíåå àðèôìåòè÷åñêîå ýëåìåíòîâ ñòåêà.
5. Íàïèñàòü ïðîöåäóðó ïðèñîåäèíåíèÿ ñòåêà S2 ê ñòåêó S1.
6. Îïðåäåëèòü ñèììåòðè÷íîñòü ïðîèçâîëüíîãî òåêñòà ëþáîé äëèíû. Òåêñò äîëæåí îêàí÷èâàòüñÿ òî÷êîé. Çàäà÷ó ðåøèòü ñ ïîìîùüþ äâóõ ñòåêîâ.
7. Ñëèòü äâà ñòåêà, ñîäåðæàùèõ âîçðàñòàþùóþ ïîñëåäîâàòåëüíîñòü öåëûõ ïîëîæèòåëüíûõ ÷èñåë, â òðåòèé ñòåê òàê, ÷òîáû åãî ýëåìåíòû ðàñïîëàãàëèñü òàêæå â ïîðÿäêå âîçðàñòàíèÿ.
8. Â äàííîì òåêñòå ïðîâåðèòü ñîîòâåòñòâèå îòêðûòèÿ è çàêðûòèÿ ñêîáîê.
9. Íàïå÷àòàòü ñîäåðæèìîå òåêñòîâîãî ôàéëà, âûïèñûâàÿ ñèìâîëû êàæäîé åãî ñòðîêè â îáðàòíîì ïîðÿäêå.
10. Ïðîâåðèòü, ÿâëÿåòñÿ ëè ñòðîêà ïàëèíäðîìîì.
Íàçàä
Íà ãëàâíóþ
Внимание! Е�ли у ва� не получило�ь найти нужную информацию, и�пользуйте рубрикатор или во�пользуйте�ь пои�ком.
книги по программированию и�ходники компоненты шаблоны �айтов C++ PHP Delphi �качать
|
|