Załóżmy, że początkowo pusty stos S wykonał łącznie 25 operacji wypychania, 12 najlepszych operacji i 10 operacji pop, z których 3 zwróciło wartość null, aby wskazać pusty stos. Jaki jest obecny rozmiar S?
Myślę, że S.size = 7, ponieważ 10 operacji pop ma 3 z 10 zwróconych null, aby wskazać pusty stos, ale nie do końca pewien, czy jest poprawny
Czy ktoś może podać poprawną odpowiedź i wyjaśnienie?
Odpowiedzi:
5 dla odpowiedzi № 1- Wystrzeliłeś całkowitą liczbę
10-3 = 7
elementy, od 3 popów nie zmienił stanu (i rozmiaru) stosu, więc zrobiło to tylko 7 popów. - Przesunąłeś w sumie 25 elementów.
- Najlepsze operacje nie zmieniają stanu (i rozmiaru) stosu i można zignorować.
Całkowity rozmiar stosu jest 25-7 = 18
na końcu.
Zauważ, że kolejność operacji nie ma znaczenia, tylko ilość „sukcesów” pop()
s, a ilość push()
s.
0 dla odpowiedzi nr 2
25 naciśnięć = 25 indeksów
10 strzałów = 25 - 10 = 15
3 wystrzały nie wystąpiły = 15 + 3 = 18
blaty nie mają znaczenia, więc powinno być 18
0 dla odpowiedzi № 3
Jest to różnica między liczbą pchania i popu.