![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 262 Pomógł: 5 Dołączył: 8.02.2005 Skąd: Olsztyn / Zatorze Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie,
mam taki oto problem. chciałbym zamienić taki kod:
na postać iteracyjną ale nie wiem jak się za to zabrać, gdyż jak piszę jakieś pętle to zawsze sprowadza mi się kod do rekurencji :/ Prosił bym o pomoc. Ten post edytował MitS 15.07.2009, 21:50:38 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 4 Dołączył: 1.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Często przy usuwaniu rekurencji trzeba implementować własny stos. W tym przypadku możemy napisać:
Pierwsza pętla odkłada argumenty przekazywane do funkcji funA i funB. Gdy po jej wykonaniu na stosie znajduje się nieparzysta ilość elementów, to ostatnim wywołaniem rekurencyjnym było wywołanie funkcji funA. Wtedy wykonujemy pojedyncze działanie. Na stosie pozostaje parzysta ilość elementów. Druga pętla oblicza wartości zwracane przez poszczególne wywołania. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 262 Pomógł: 5 Dołączył: 8.02.2005 Skąd: Olsztyn / Zatorze Ostrzeżenie: (0%) ![]() ![]() |
dzięki bardzo, w ogóle nie brałem pod uwagę stosu dlatego nie wychodziło
![]() Pozdrawiam |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Jeśli masz PHP 5.3, to użyj struktur danych dostępnych w SPL-u. O rekurencji swego czasu pisałem u siebie na blogu (niestety, SPL nie miał jeszcze wtedy struktur danych):
http://www.zyxist.com/pokaz.php/pozbadz_sie_rekurencji -------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 06:36 |