5672969465

5672969465



4.2. PROSTE ALGORYTMY SORTOWANIA TABLIC 10

Przykład. Funkcja wyznaczająca sumę wartości elementów z podanej tablicy.

double suma(double const* t, int n)

{    // dostęp do elementów t tylko do odczytu

assert(n > 0) ; double s = 0.0; for (int i=0; i<n; ++i) s += t [i] ; return s;

>

int main(void)

{

int ile = 10;

double* punkty = new double[ile]; for (int i=0; i<ile; ++i) cin >> punkty[i];

cout << suma (punkty, ile); // przekazanie tablicy do funkcji delete [] punkty; return 0;

}

Na marginesie, zauważmy, że funkcja suma O nie ma żadnych efektów ubocznych. Nie wypisuje nic na ekran ani o nic nie pyta się użytkownika. Wyznacza tylko wartość sumy elementów zawartych w tablicy — czyli tylko to, czego użytkownik (funkcja mainO) może się po niej spodziewać.

Ponadto zapis double const* zapewnia, że elementów danej tablicy nie można zmieniać. Jest to tzw. wskaźnik na wartości stałe.    ■

4.2. Proste algorytmy sortowania tablic

Rozważymy teraz problem sortowania tablic jednowymiarowych, który jest istotny w wielu zastosowaniach, zarówno teoretycznych jak i praktycznych. Dzięki odpowiedniemu uporządkowaniu elementów niektóre algorytmy (np. wyszukiwania) mogą działać szybciej, mogą być prostsze w napisaniu czy też można łatwiej formalnie udowodnić ich poprawność.

Wyobraź sobie, ile czasu zajęłoby Ci znalezienie hasła w słowniku (chodzi oczywiście o słownik książkowy), gdyby redaktorzy przyjęliby losową kolejność wyrazów. Przeanalizuj z jakiego „algorytmu” korzystasz wyszukując to, co Cię interesuje.

Co więcej, istnieje wcale niemało zagadnień, które wprost wymagają pewnego uporządkowania danych i które bez takiej operacji wcale nie mają sensu.

Przykładowo, rozważmy w jaki sposób wyszukujemy interesujące nas strony internetowe. Większość wyszukiwarek działa w następujący sposób.

Ostatnia aktualizacja: 5 grudnia 2012 r.



Wyszukiwarka

Podobne podstrony:
4.2. PROSTE ALGORYTMY SORTOWANIA TABLIC 11 1.    Znajdź wszystkie strony w bazie dany
4.2. PROSTE ALGORYTMY SORTOWANIA TABLIC 12 4.2.1. Sortowanie przez wybór W algorytmie sortowania prz
4.2. PROSTE ALGORYTMY SORTOWANIA TABLIC 15 4.2.2. Sortowanie przez wstawianie Algorytm sortowania pr
4.2. PROSTE ALGORYTMY SORTOWANIA TABLIC 18 4.2.3. Sortowanie bąbelkowe Sortowanie bąbelkowe (ang. bu
spoiny1 Tablica 10.4. Przykłady uszczegółowionego i uproszczonego rysowania śrub i wkrętów
309 (22) Tablica 5.10 Przykłady izotypii Typ
BadaniaMarketKaczmarczyk 0 Tablica 5.10 Przykładowa lista odpowiedzi na pytanie otwarte Pytanie: Jak
pkm osinski46 290 5. Przekładnie Tablica 5.10. Wzory do wyznaczania sil osiowych i promieniowych w
gwinty03 I? Tablic* 10.5. Przykłady uszczegółowionego i uproszczonego ryzowania nakrętek Rys. 1023.
270 (10) Przykład 5.1.3 W celu wyznaczenia współrzędnych punktu Z, zmierzono odległości d,, rt -,. d
367 Tablica 10.5 Przykłady oznaczeń chropowatości L-P- Forma
Untitled Scanned 13 - 26 Tablica 2.2 Zestawienie logicznych funkcji dwuargumentowych Lp. Wartości
Wprowadzenie do MatLab (97) rowanic binarne lub heksadccymalne. Na przykład funkcja dec2hex zamienia
img010 10 Przykłady 1* Dowolny zbiór Z wraz z funkcja dd(p,q) 0 dla p ■ q, 1 dla p jt q jest przeatr
problems c Zadania.nb 3 10 . Dla funkcji f (x, y) = 2 x2 - xy + y2 wyznaczyć, w oparciu o a f d f de
Matem Finansowa 7 Dyskonto proste rzeczywiste 97 Ponieważ wiemy jednak, że wartości funkcji D(t) wyz

więcej podobnych podstron