eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingjak zmusić funkcję rekurencyjną bo bycia ogonową (F#)jak zmusić funkcję rekurencyjną bo bycia ogonową (F#)
  • 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.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: