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;
}