Array işlemleri ~ Meraklı Rakun

7 Eylül 2013 Cumartesi

Array işlemleri









Array kavramını kafamızda bir çeşit liste şeklinde canlandırabiliriz. Array'ler codlama yaparken bize bir sürü kolaylıklar sağlayan yapılardır codlama dillerine göre array tipleri ayrılabilirler. Array elemanları index olarak adlandırılırlar.

Program, global bir array'e random olarak atanan elemanların 2 çeşit sıralama mantığına göre sıralanmasından sonra ekrana yazdırılması.

#include <stdio.h>
#include <stdlib.h>

#define MAX 30

void randomAR(int *arr) {                  Rasgele üretilen sayılar için
                                                                          kullandığım fonsiyon.
    int i;
    for (i = 0; i < MAX; i++) {
        arr[i] = rand() % 100;
    }
}

void display(int *arr) {
    int i;
    for (i = 0; i < MAX; i++) {               Ekrana vermek istediklerimizi
        printf("%2d ", arr[i]);                      düzenlediğimiz display fonsiyonumuz.
        fflush(stdout);

    }
    printf("\n");
    printf("\n");
    fflush(stdout);
}

void bubblesort(int *arr) {
    int i, j, t;
    for (i = 0; i < MAX; i++) {              
        for (j = i; j < MAX; j++) {
            if (arr[j] < arr[i]) {
                t = arr[i];
                arr[i] = arr[j];
                arr[j] = t;
            }
        }
    }                                                                Sıralama algoritmaları.
}

void insertionSort(int *arr) {
    int i, j, t;
    for (i = 1; i < MAX; i++) {
        for (j = i; (j > 0) && (arr[j] < arr[j - 1]); j--) {
            t = arr[j];
            arr[j] = arr[j - 1];
            arr[j - 1] = t;
        }
    }
}

/*

 for i = 2:n,
 for (k = i; k > 1 and a[k] < a[k-1]; k--)
 swap a[k,k-1]
 */

int main(void) {

    int arr[MAX];
    printf("1.Random        ");
    fflush(stdout);
    randomAR(arr);
    display(arr);

    printf("Bubble Sort     ");                  Fonsiyonlarımız ile değişkenlerimizi
    fflush(stdout);                                           birleştirip işlem yaptırdığımız
    bubblesort(arr);                                             main bölümü.
    display(arr);

    printf("2.Random        ");
    fflush(stdout);
    randomAR(arr);
    display(arr);

    printf("Insertion Sort  ");
    fflush(stdout);
    insertionSort(arr);
    display(arr);

    return EXIT_SUCCESS;
}