Matlab Merge Sort
Algoritmanın Çalışma Şekli
Merge Sort, bir dizi içerisindeki elemanları ikiye böler, her iki parçayı ayrı ayrı sıralar, sonra bu iki sıralı parçayı birleştirerek sonuç dizisini elde eder. Bu işlem alt dizilere kadar tekrar eder.
Kod
% Merge Sort algoritması ile 20 adet random oluşturulan sayıları sıralama
% Merge Sort işlemi
function sorted_array = mergeSort(input_array)
n = length(input_array);
if n <= 1
sorted_array = input_array;
return;
end
middle = fix(n / 2);
left = mergeSort(input_array(1:middle));
right = mergeSort(input_array(middle+1:n));
sorted_array = merge(left, right);
end
% Merge işlemi
function merged_array = merge(left, right)
merged_array = [];
while ~isempty(left) && ~isempty(right)
if left(1) <= right(1)
merged_array = [merged_array, left(1)];
left(1) = [];
else
merged_array = [merged_array, right(1)];
right(1) = [];
end
end
merged_array = [merged_array, left, right];
end
% 20 adet random sayı oluşturma
input_array = randi([1, 100], 1, 20);
% Oluşturulan sayıları ekrana yazdırma
disp('Oluşturulan Sayılar:');
disp(input_array);
% Merge Sort ile sayıları sıralama
sorted_array = mergeSort(input_array);
% Sıralanmış sayıları ekrana yazdırma
disp('Sıralanmış Sayılar:');
disp(sorted_array);
Yorumlar
Yorum Gönder