Swap adjacent elements
Coddy'nin Kabarcık Sıralaması kursunda ders 3 / 11.
Kabarcık sıralamasının (bubble sort) nasıl çalıştığını tartıştık. Liste boyunca ilerlemeli ve yanlış sırada olan öğeleri yer değiştirmeliyiz. Liste sıralı hale gelene kadar bu işlemi tekrarlamalıyız.
Bir geçişin (pass) nasıl çalıştığını bir kez daha gözden geçirelim: Liste boyunca ilerlemeli, bitişik öğeleri karşılaştırmalı ve yer değiştirmeliyiz.
4 öğeli bir listeyi sıralamamız gerekiyor:
[3,4,2,1]İlk iki öğeyi karşılaştırır
[3,4,2,1] -> [3,4,2,1] (Zaten sıralı oldukları için değişiklik yok)
Sonraki iki öğeyi karşılaştırır
[3,4,2,1] -> [3,2,4,1] (Öğeleri sıralı hale getirmek için yer değiştirir)
Sonraki iki öğeyi karşılaştırır
[3,2,4,1] -> [3,2,1,4] (Öğeleri sıralı hale getirmek için yer değiştirir)
Son görevde, iki öğenin nasıl yer değiştirileceğini öğrendik. İşte yukarıda tartışılan süreci uygulamanız için size bir görev.
Görev
KolayBir dizi alan swap_list adında bir fonksiyon oluşturun. Dizi boyunca ilerleyin, bitişik elemanları karşılaştırıp yer değiştirin ve yeni listeyi döndürün.
Kendin dene
#include <stdio.h>
#include <stdlib.h>
int* swap_list(int* arr, int arr_size, int* returnSize) {
// Kodu buraya yazın
*returnSize = arr_size;
return arr;
}
Kabarcık Sıralaması bölümündeki tüm dersler
1Basics of Bubble Sort
IntroductionWorking of the Bubble SortSwap adjacent elementsBubble Sort Algorithm