ALGORYTMY I STRUKTURY DANYCH - ćwiczenia
INFORMATYKA
II rok, studia stacjonarne I stopnia rok ak. 2013/2014 semestr zimowy
Lista 7
Zdefiniować klasę do utworzenia i obsługi stosu.
1. a) Z danego stosu liczb całkowitych zdejmując elementy utworzyć dwa stosy - jeden złożony z liczb parzystych, drugi z liczb nieparzystych.
b) Sprawdzić czy na stosie są dwa identyczne elementy.
2. a) Sprawdzić czy w danym fragmencie kodu programu każdy nawias otwierający ma swój odpowiednik zamykający.
b) Użyć stosu do odwrócenia kolejności liter tekstu.
3. a) Dany jest stos S liczb całkowitych. Używając standardowych operacji na stosie podać algorytm $tos_uporządkowany, który ustawia elementy na stosie S w porządku rosnącym (na szczycie jest element największy). Można korzystać z jednego pomocniczego stosu P\ kilku (skończonej liczby) zmiennych.
Przykład: (szczyt) 1,2,6,3,4,5 —> (szczyt) 6,5,4,3,2,1.
b) Dane są: stos liczb A i pusty stos B, Używając standardowych funkcji obsługi stosów usunąć ze stosu A element o najmniejszej wartości położony najgłębiej (w stosie może być kilka elementów o tej samej najmniejszej wartości).
4. Na poczcie pewna ilość listów została rozdzielona na m stosów, po czym z pierwszego stosu przełożono na drugi 1/m - tą listów znajdujących się na pierwszym stosie, a następnie z otrzymanego wtedy stosu przełożono 1/m - tą część listów na trzeci stos itd.... Na koniec z m-tego stosu przełożono 1/m - tą część na pierwszy stos i okazało się, że na każdym stosie jest A listów. Ile listów było początkowo na każdym stosie?
2013-11-25
T. Wiśniewska