Implementacja (część 2)
Lekcja 6 z 9 w kursie Sortowanie przez scalanie – seria DSA w Coddy.
Teraz łączymy dzielenie i scalanie w pełny algorytm.
Wyzwanie
ŁatwyTeraz połącz to wszystko w pełny algorytm.
Napisz funkcję o nazwie mergeSort, która przyjmuje tablicę liczb całkowitych i zwraca ją posortowaną w rosnącej kolejności.
Podziel tablicę na dwie połowy, posortuj każdą z nich, wywołując dla niej mergeSort (rekurencja), a następnie połącz z powrotem obie posortowane połowy. Tablica zawierająca 0 lub 1 element jest już posortowana, więc zwróć ją bez zmian.
Możesz ponownie użyć logiki scalania z poprzedniej lekcji.
Spróbuj swoich sił
#include <stdlib.h>
int* mergeSort(int* arr, int arr_size, int* returnSize) {
// Wpisz kod tutaj
*returnSize = arr_size;
return arr;
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Sortowanie przez scalanie – seria DSA
2Algorytm
Jak to działa?PseudokodImplementacja (część 1)Implementacja (część 2)Poćwicz samodzielnie: Kompilator C online