Swap Nedir?
Swap, kelime anlamı olarak “değiş, tokuş, takas” anlamına gelir.
Bugün C programlama dilinde swap fonksiyonunu inceleyeceğiz. Örneğin 2 adet dizimiz var ise swap fonksiyonu sayesinde dizilerin elemanlarını yer değiştirebiliyoruz. C programlama dilinde Swap sayesinde bu iki dizinin elemanlarını tek fonksiyon kullanarak yer değiştirmiş oluruz.
Aşağıdaki kodda 2 adet dizi belirledik. Bu iki dizi aynı boyutta “main() ile başlıyor. Swap fonksiyonu 3 parametre alıyor.
#include <stdio.h> #include <stdlib.h> #define SIZE 5 void swapArrayElements(int arr1[], int arr2[], size_t size); int main() { size_t i; int my_array1[SIZE] = {1,2,3,4,5}; int my_array2[SIZE] = {6,7,8,9,10}; printf("elements of array1:\n"); for(i=0; i<SIZE; i++){ printf("%3d", my_array1[i]); } puts(""); printf("elements of array2:\n"); for(i=0; i<SIZE; i++){ printf("%3d", my_array2[i]); } puts(""); swapArrayElements(my_array1, my_array2, SIZE); printf("new elements of modified array1:\n"); for(i=0; i<SIZE; i++){ printf("%3d", my_array1[i]); } puts(""); printf("new elements of modified array2:\n"); for(i=0; i<SIZE; i++){ printf("%3d", my_array2[i]); } } void swapArrayElements(int arr1[], int arr2[], size_t size){ size_t counter; int temp; for(counter=0; counter<size; counter++){ temp = arr1[counter]; arr1[counter] = arr2[counter]; arr2[counter] = temp; } }
Kodun çıktısı da aşağıdaki gibi olacaktır.
merhabalar bu kodu size_t ve counter komutu kullanmadan nasıl yazabiliriz ?