From c2fad393a7fe3273f60f4bcb5ff47359cdc42158 Mon Sep 17 00:00:00 2001 From: iMeet07 <97329296+iMeet07@users.noreply.github.com> Date: Tue, 3 Oct 2023 23:58:46 +0530 Subject: [PATCH] Create Odd-EvenSort.m Added Odd-Even Sort --- algorithms/sorting/Odd-EvenSort.m | 38 +++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 algorithms/sorting/Odd-EvenSort.m diff --git a/algorithms/sorting/Odd-EvenSort.m b/algorithms/sorting/Odd-EvenSort.m new file mode 100644 index 0000000..f35c50a --- /dev/null +++ b/algorithms/sorting/Odd-EvenSort.m @@ -0,0 +1,38 @@ +function oddEvenSort(arr) + n = length(arr); + sorted = false; + + while ~sorted + sorted = true; + + % Odd phase (compare and swap odd-indexed elements) + for i = 1:2:(n-1) + if arr(i) > arr(i + 1) + temp = arr(i); + arr(i) = arr(i + 1); + arr(i + 1) = temp; + sorted = false; + end + end + + % Even phase (compare and swap even-indexed elements) + for i = 2:2:(n-1) + if arr(i) > arr(i + 1) + temp = arr(i); + arr(i) = arr(i + 1); + arr(i + 1) = temp; + sorted = false; + end + end + end +end + +% Example usage +arr = [64, 34, 25, 12, 22, 11, 90]; +disp("Unsorted List:"); +disp(arr); + +oddEvenSort(arr); + +disp("Sorted List:"); +disp(arr);