Wyszukiwanie minimum i maksimum¶
Opis problemu¶
Wyszukiwanie wartości minimum i maksimum¶
Funkcja find_min_max
działa w następujący sposób:
- Inicjalizuje zmienne
min_val
imax_val
jako pierwszy element listy. - Przechodzi przez listę od drugiego elementu do końca.
- Jeżeli wartość aktualnego elementu
tab[i]
jest mniejsza odmin_val
, aktualizujemin_val
natab[i]
. - Jeżeli wartość aktualnego elementu
tab[i]
jest większa odmax_val
, aktualizujemax_val
natab[i]
. - Po przejściu przez całą listę, zwraca krotkę
(min_val, max_val)
, która zawiera minimalną i maksymalną wartość w liście.
W głównej części programu:
- Definiuje listę
tab
z \(10\) elementami. - Używa funkcji
find_min_max
do znalezienia minimalnej i maksymalnej wartości w liście. - Wyświetla te wartości na ekranie.
Wyszukiwanie indeksów wartości minimum i maksimum¶
Funkcja find_min_max_ind
działa następująco:
- Zaczyna od zainicjowania
min_ind
imax_ind
jako \(0\) - indeksy pierwszego elementu listy. - Przechodzi przez listę od drugiego elementu do końca.
- Jeżeli aktualny element
tab[i]
jest mniejszy niż element na pozycjimin_ind
, aktualizujemin_ind
na \(i\). - Jeżeli aktualny element
tab[i]
jest większy niż element na pozycjimax_ind
, aktualizujemax_ind
na \(i\). - Po przejściu przez całą listę, zwraca krotkę
(min_ind, max_ind)
, która zawiera indeksy minimalnej i maksymalnej wartości w liście.
W głównej części programu:
- Tworzy listę
tab
z \(10\) elementami. - Wywołuje funkcję
find_min_max_ind
, która zwraca indeksy minimalnej i maksymalnej wartości w liście. - Wyświetla te indeksy na ekranie.
Podobnie jak poprzedni program, ten program jest efektywny, ponieważ zamiast przechodzić przez listę dwa razy (raz do znalezienia indeksu minimum, raz do znalezienia indeksu maksimum), robi to tylko raz, co jest szybsze dla dużych list.