-
Data: 2011-02-10 20:10:25
Temat: jak zmusić funkcję rekurencyjną bo bycia ogonową (F#)
Od: Jakub Owczarski <j...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Witam.
Próbuję zrozumieć rekurencję ogonową.
Kiedy patrzę na najprostsze przykłady (z użyciem akumulatora), to niby
to rozumiem, ale kiedy próbuję z funkcją troszkę bardziej
skomplikowaną niż silnia to wymiękam.
Konkretnie wymiękłem na takiej prostej implementacji insert sorta, czy
da się to zmusić do bycia tail-recursive?
Gdyby ktoś zechciał mi to jakoś opisowo wytłumaczyć na tym przykładzie
to będę bardzo wdzięczny
let rec insertSort l =
let rec insert elem lst =
match lst with
| [] -> [elem]
| head::tail -> if elem < head then elem::head::tail else
head::(insert elem tail)
match l with
| [] -> []
| f::r -> insert f <| insertSort r
Pozdrawiam.
Następne wpisy z tego wątku
- 11.02.11 10:15 Andrzej Jarzabek
- 11.02.11 10:39 Jakub Owczarski
- 11.02.11 15:22 Andrzej Jarzabek
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-02-17 EPS12V
- 2025-02-18 Kraków => Spedytor Międzynarodowy <=
- 2025-02-18 Policja nie może się dowiedzieć komu administrator wynajmowal garaż.
- 2025-02-18 Bursztyn się znalazł
- 2025-02-18 Ruski samolot z turystami nielegalnie internowany po awaryjnym lądowaniu w Poznaniu. Czemu o tym nic nie piszecie pieniacze?!?
- 2025-02-18 Obcokrajowcy w bankach
- 2025-02-17 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2025-02-17 Chrzanów => Programista NodeJS <=
- 2025-02-17 Warszawa => Node.js / Fullstack Developer <=
- 2025-02-17 Białystok => System Architect (Java background) <=
- 2025-02-17 Białystok => Solution Architect (Java background) <=
- 2025-02-17 Gliwice => Team Lead / Tribe Lead FrontEnd <=
- 2025-02-17 Gdańsk => PHP Developer <=
- 2025-02-17 Warszawa => Senior ASP.NET Developer <=
- 2025-02-17 Gliwice => Business Development Manager - Network and Network Security