Algorytmy STL

Nasza ocena:

4
Pobrań: 7
Wyświetleń: 791
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Algorytmy STL - strona 1

Fragment notatki:

Algorytmy STL Wykład 13 06/01/17 2 Algorytmy STL Algorytmy zdefiniowane są w pliku nagłówkowym  Znajduje się tam teŜ kilka pomocniczych funkcji takich  jak min, max, swap Algorytmy STL słuŜące do przetwarzania  numerycznego zdefiniowane są w pliku  nagłówkowym  Podczas pracy z algorytmami często potrzebne są obiekty funkcyjne 06/01/17 3 Cechy ogólne Algorytmy przetwarzają co najmniej jeden zakres  wyznaczony przez iteratory Pierwszy zakres wyznaczony jest przez początek i koniec Zakres zawsze jest półotwarty [beg, end) Dla następnych na ogół wystarczy podać początek, bo liczba  elementów przetwarzanych zdefiniowana jest przez zakres  pierwszy Do funkcji wywołującej naleŜy zapewnienie poprawności  zakresów, tzn. Koniec zakresu musi być osiągalny z początku Zakresy muszą zawierać wystarczająca liczbę elementów Algorytmy działają w trybie nadpisywania, a nie wstawiania Chyba, Ŝe uŜyjemy iteratorów wstawiających 06/01/17 4 Elastyczność Niektóre algorytmu pozwalają na przekazanie operacji  zdefiniowanych przez programistę, które są przez nie  wywoływane Operacje mogą być zwykłymi funkcjami lub funktorami Operacje numeryczne wykonujące np. iloczyn JeŜeli funkcje zwracają wartość logiczną to nazywamy je  predykatami (+dodatkowe warunki) Np. do wyszukiwania uŜywamy predykatów jednoargumentowych Do sortowania predykatów dwuargumentowych Predykat jednoargumentowy słuŜący do określania, na których  elementach wykonywać operację 06/01/17 5 Klasyfikacja algorytmów Algorytmy sklasyfikowano wg ich przeznaczenia Np. czytające, modyfikujące, zmieniające kolejność Nazwa algorytmu i przyrostki Na ogół nazwa intuicyjnie definiuje zadanie Przyrostek _if – uŜywanie jest gdy istnieją dwie postacie  algorytmu, jedna nie wymaga podania funktora druga wymaga find – szuka wartości, find_if – szuka elementu spełniającego  podane kryterium Nie jest tak zawsze (jeŜeli funkcja wymaga istnienia funktora) np.  min_element Przyrostek _copy – wskazuje Ŝe elementy będą kopiowane do  zakresu docelowego np. reverse i reverse_copy 06/01/17 6 Kategorie algorytmów Algorytmy niemodyfikujące ( nonmodifying algorithms) Algorytmy modyfikujące ( modifying algorithms) Algorytmy usuwające ( removing algorithms) Algorytmy mutujące ( mutating algorithms) Algorytmy sortujące ( sorting algorithms) Algorytmy przeznaczone do zakresów  posortowanych ( sorted range algorithms) Algorytmy numeryczne ( numeric algorithms) Niektóre algorytmu naleŜą do kilku kategorii ... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz