W celu znalezienia mediany z pewnego zbioru o n elementach należy je posortować w kolejności od najmniejszej do największej. Następnie dla nieparzystej ilości elementów n medianą jest wartość w środku posortowanej tablicy. Jednak dla parzystego n wynikiem jest średnia arytmetyczna dwóch środkowych elementów.
Weźmy przykładowo tablicę L:={2, 4, 6, 5, 5, 1, 4, 1, 3}. Pierwszy krok polega na posortowaniu tablicy rosnąco: {1, 1, 2, 3, 4, 4, 5, 5, 6}. Tablica ma nieparzystą liczbę elementów n = 9, więc szukany element znajduje się na pozycji (n + 1)/2 = 5 i jest to wartość 4.
Jednak w przypadku, gdy dana jest lista posortowana {1, 2, 3, 4, 5, 6} i liczba elementów n = 6 jest parzysta to liczymy średnią arytmetyczną elementów środkowych elementów. W tym przypadku jest to (3 + 4)/2 = 3.5.
Do sortowania tablicy można skorzystać z dowolnego algorytmu sortowania. Jednak tutaj zostanie wykorzystany wbudowany algorytm do sortowania.
(2.) Na początku należy posortować tablicę, a następnie na podstawie (3.) parzystości ilości elementów w tablicy wybrać poprawną wartość do zwrócenia. Uwaga warto tutaj zauważyć, że elementy w tablicy są indeksowane od zera. Wpływa to na sposób wybierania konkretnych elementów.
Podczas przepisywania powyższej funkcji do obsługi tablic liczb całkowitych należy pamiętać, że zwracana musi być wartość rzeczywista, ponieważ średnia dwóch liczb całkowitych może mieć część ułamkową 0.5.
W celu przetestowania napisanej funkcji wystarczy przedstawiony fragment kodu.
Napisz funkcję mediana2(), która będzie przyjmować dwie tablice liczb rzeczywistych. Funkcja ma zwracać medianę dwóch tablic. Przykładowo jeśli jedna tablica to L1=[1, 2, 4, 8], a druga L2=[3, 4, 5] to wynikiem jest 4, ponieważ jest to wartosć pośrodku scalonych tablic: L1, 2[1, 2, 3, 4, 4, 5, 8].