Javascript Brick Sort Algoritması

Herkese merhaba, Javascript yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda sıralama algoritmalarından biri olan brick sort algoritmasını anlatacağım. Hadi başlayalım !
Table of Contents
Brick Sort Algoritması Nedir?
Brick Sort, aynı zamanda Odd-Even Sort olarak da bilinen bir sıralama algoritmasıdır. Bu algoritma, yinelemeli bir yaklaşım kullanarak sıralama işlemi gerçekleştirir. Brick Sort, kabaca Selection Sort ve Bubble Sort algoritmalarının bir karışımıdır. İlk olarak, liste üzerinde çift ve tek adımlarla geçiş yaparak liste üzerindeki tüm elemanları sıralar. Daha sonra, tek ve çift adımlarla geçiş yaparak, liste üzerindeki tüm elemanları yeniden sıralar. Bu işlem, sıralama işlemi tamamlanana kadar tekrarlanır.
Javascript Brick Sort Algoritması Kodu
Aşağıdaki örnek JavaScript kodu, Brick Sort algoritmasının nasıl uygulanabileceğine dair bir fikir verebilir:
function brickSort(arr) {
var n = arr.length;
var isSorted = false;
while (!isSorted) {
isSorted = true;
// Tek adımlarla liste üzerinde geçiş yapar ve elemanları karşılaştırır
for (var i = 1; i <= n - 2; i = i + 2) {
if (arr[i] > arr[i + 1]) {
var temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
isSorted = false;
}
}
// Çift adımlarla liste üzerinde geçiş yapar ve elemanları karşılaştırır
for (var i = 0; i<= n - 2; i = i + 2) {
if (arr[i] > arr[i + 1]) {
const temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
isSorted = false;
}
}
return arr;
}
// Örnek kullanım
const unsortedArray = [8, 5, 3, 9, 2, 4, 1, 6, 7];
const sortedArray = brickSort(unsortedArray);
console.log(sortedArray); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
Kod Açıklamaları
Bu örnekte, brickSort fonksiyonu, sıralanacak diziyi parametre olarak alır. Fonksiyon, sıralama işlemini gerçekleştirmek için önce dizinin uzunluğunu alır ve isSorted değişkenini false olarak ayarlar.
Daha sonra, while döngüsü içinde, isSorted değişkeni true olana kadar işlemler yapılır. Döngü, içinde bir for döngüsü bulundurur. Bu for döngüsü, tek adımlarla geçiş yaparak, liste üzerindeki elemanları karşılaştırır. Eğer bir eleman diğerinden büyükse, elemanları yer değiştirir ve isSorted değişkeni false olur.
Daha sonra, bir başka for döngüsü, çift adımlarla liste üzerinde geçiş yaparak, elemanları karşılaştırır. Eğer bir eleman diğerinden büyükse, elemanları yer değiştirir ve isSorted değişkeni false olur.
Sıralama işlemi, isSorted değişkeni true olduğunda durur ve sıralanmış diziyi geri döndürür.
Bu örnekte, brickSort fonksiyonu sadece bir diziyi sıralar. Ancak, bu fonksiyon, birçok farklı veri türü için de kullanılabilir. Ayrıca, farklı programlama dillerinde de uygulanabilir.
Evet Brick Sort Algoritması ve Javascript kodu bu şekilde. Tüm Javascript yazılarımıza buraya, diğer sıralama algoritmaları ile ilgili yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.