eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingNiezmienniki pętliRe: Niezmienniki pętli
  • Data: 2018-11-16 23:51:07
    Temat: Re: Niezmienniki pętli
    Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]


    > Najprostrze zastosowanie:
    > QList<int> lList = {0, 1, 2, 3, 4, 5};
    > for(int i(0); i < lList.size(); ++i)
    > // tu robisz coś z lList
    > W tej pętli niezmiennikiem sprawdzanym przed wejściem w pętlę i po kazdej iteracji
    jest:
    > i < lList.size()

    Tak jak już zauważył Queequeg, to nie jest niezmiennik. W ogóle we wzorcu projektowym
    o nazwie "jadę po kontenerze" nie ma niezmienników, chyba że weźmiemy pod uwagę
    następujący:

    - elementy o indeksach większych od i nie zostały jeszcze odwiedzone

    Ale taki niezmiennik (chociaż prawdziwy) jest sztuczny i nic nie wnosi.
    Ciekawsze są niezmienniki w tych pętlach, które swoim działaniem budują jakiś wynik i
    ten wynik ma jakąś ważną stałą cechę. Np. zewnętrzna pętla w algorytmie sortowania
    przez wybieranie ma taki niezmiennik:

    - elementy o indeksach mniejszych od i są już posortowane

    I taki niezmiennik jest już ciekawszy, bo bez patrzenia na algorytm jako całość
    pozwala uzasadnić, że ta całość faktycznie coś sortuje.

    Ale jak rozumiem z sondażu, nikt tego nie stosuje. Pewnie ma to związek z faktem, że
    algorytm sortowania przez wybieranie już został wymyślony. :-)

    > 5.2. Nie wierzę w i nie cierpię Assert (to tak jak by bez ostrzeżenia uderzyć kogoś
    w twarz bez dalszego komentarza).

    To też jest ciekawe. Zwłaszcza, że assert statyczny i dynamiczny to nie to samo.

    --
    Maciej Sobczak * http://www.inspirel.com

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: