☰ Dersleri Göster

Algoritmalar

Bu derste popüler olan sıralama ve arama algoritmalarının neler olduğunu öğreneceksiniz.

Kursa 27.99 TL'ye kayıt olmak için TIKLAYINIZ.

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#define MAX 100

void bubbleSort(int dizi[],int boyut){

    for(int i=0;i<boyut;i++){
        for(int j=1;j<boyut-i;j++){
            if(dizi[j-1]>dizi[j]){
                int temp = dizi[j];
                dizi[j]= dizi[j-1];
                dizi[j-1]= temp;
            }
        }
    }
}

int main()
{
    setlocale(LC_ALL,"Turkish");

    int tamSayiDizisi[MAX],boyut;

    printf("Kaç elemanlı bir dizi oluşturmak istiyorsunuz\n");
    scanf("%d",&boyut);

    for(int i=0;i<boyut;i++){
        //printf("%d. elemanı giriniz\n",i+1);
        scanf("%d",&tamSayiDizisi[i]);
    }

    for(int i=0;i<boyut;i++){
        printf("%d ",tamSayiDizisi[i]);
    }
    printf("\n");
    bubbleSort(tamSayiDizisi,boyut);
    for(int i=0;i<boyut;i++){
        printf("%d ",tamSayiDizisi[i]);
    }
    return 0;
}

 

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#define MAX 100

void selectionSort(int dizi[],int boyut){

    int enKucukIndex;
    for(int i=0; i<boyut;i++){
        enKucukIndex = i;
        for(int j=i;j<boyut;j++){
            if(dizi[j]<dizi[enKucukIndex]){
                enKucukIndex=j;
            }
        }

        int temp = dizi[i];
        dizi[i] = dizi[enKucukIndex];
        dizi[enKucukIndex] = temp;

    }

}

int main()
{
    setlocale(LC_ALL,"Turkish");

    int tamSayiDizisi[MAX],boyut;

    printf("Kaç elemanlı bir dizi oluşturmak istiyorsunuz\n");
    scanf("%d",&boyut);

    for(int i=0;i<boyut;i++){
        //printf("%d. elemanı giriniz\n",i+1);
        scanf("%d",&tamSayiDizisi[i]);
    }

    for(int i=0;i<boyut;i++){
        printf("%d ",tamSayiDizisi[i]);
    }
    printf("\n");
    selectionSort(tamSayiDizisi,boyut);
    for(int i=0;i<boyut;i++){
        printf("%d ",tamSayiDizisi[i]);
    }
    return 0;
}

 

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#define MAX 100

void insertionSort(int dizi[],int boyut){

    int eleman;

    int oncesi;
    for(int i=1;i<boyut;i++){
        eleman = dizi[i];
        oncesi= i - 1;

        while(oncesi>=0 && dizi[oncesi]>eleman){
            dizi[oncesi+1] = dizi[oncesi];
            oncesi--;
        }

        dizi[oncesi+1] = eleman;

    }

}

int main()
{
    setlocale(LC_ALL,"Turkish");

    int tamSayiDizisi[MAX],boyut;

    printf("Kaç elemanlı bir dizi oluşturmak istiyorsunuz\n");
    scanf("%d",&boyut);

    for(int i=0;i<boyut;i++){
        //printf("%d. elemanı giriniz\n",i+1);
        scanf("%d",&tamSayiDizisi[i]);
    }

    for(int i=0;i<boyut;i++){
        printf("%d ",tamSayiDizisi[i]);
    }
    printf("\n");
    insertionSort(tamSayiDizisi,boyut);
    for(int i=0;i<boyut;i++){
        printf("%d ",tamSayiDizisi[i]);
    }
    return 0;
}

 

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


int linearSearch(int dizi[],int arananSayi,int diziBoyut){

            for(int i=0;i<diziBoyut;i++){
                if(dizi[i]==arananSayi){
                    return i;
                }
            }
            return -1;
}

int main()
{
    //Linear Search Algorithm - Dümdüz Arama Algoritması
    int sayilar[] = {3,5,1,-4,9,12,-1};
    int boyut= sizeof(sayilar)/sizeof(int);
    int arananDeger;
    while(1){
    printf("Dizideki indeksini merak ettiğiniz sayiyi giriniz.\n");
    scanf("%d",&arananDeger);
    int aramaSonucu = linearSearch(sayilar,arananDeger,boyut);

    if(aramaSonucu>=0){
        printf("Aradiginiz sayi %d. Indekste bulunmaktadir.\n",aramaSonucu);
    }
    else{
        printf("Aradiginiz sayi bulunamamaktadir.\n");
    }
    }




    return 0;
}

 

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

int binarySearch(int dizi[],int enDusuk,int enYuksek,int arananDeger){

while(enDusuk<=enYuksek){

    int ortadakiSayi = enDusuk+(enYuksek-enDusuk)/2;

    if(dizi[ortadakiSayi]==arananDeger)
        return ortadakiSayi;

    if(dizi[ortadakiSayi]<arananDeger)
        enDusuk= ortadakiSayi+1;
    else
        enYuksek=ortadakiSayi-1;

}

return -1;

}

int main()
{
    int sayilar[] = {2,5,7,14,24,36,67};
    int boyut = sizeof(sayilar)/sizeof(int);
    int aranilanSayi;
    while(1){
        printf("Indeksini ogrenmek istediginiz sayiyi giriniz.\n");
    scanf("%d",&aranilanSayi);

    int aramaSonucu = binarySearch(sayilar,0,boyut-1,aranilanSayi);

    if(aramaSonucu>=0)
        printf("Aradiginiz sayi %d. indekstedir.\n",aramaSonucu);
    else
        printf("Aradiginiz sayi bulunamamaktadir.\n");
    }



    return 0;
}