İstediğiniz kaynak kodu yükleniyor!
Yüklemede…
Her şey hazırlandı
Tek yapman gereken yapıştırıp çalıştırmak.
Veri Yapıları Hızlı Sıralama
//Omer Alp KIRAY//
#include <stdio.h>
#include <conio.h>
void hizliSirala(int[], int, int);
int bolme(int[], int, int);
void main() {
int ElemanSayisi;
printf("Eleman Sayisini giriniz: ");
scanf_s("%d", &ElemanSayisi);
int* dizi = (char *)malloc((ElemanSayisi * sizeof(char)));
for (int sayac = 0; sayac < ElemanSayisi; sayac++) {
printf("%d. Elemani giriniz: ", sayac + 1);
scanf_s("%d", &dizi[sayac]);
}
printf("\nDizinin sirasiz hali: ");
for (int sayac = 0; sayac < ElemanSayisi; ++sayac) {
printf("\t%d", dizi[sayac]);
}
hizliSirala(dizi, 0, (ElemanSayisi-1));
printf("\nDizinin sirali hali: ");
for (int sayac = 0; sayac < ElemanSayisi; ++sayac) {
printf("\t%d", dizi[sayac]);
}
_getch();
}
void hizliSirala(int dizi[], int ilk, int son) {
int sayac2;
if (ilk < son) {
sayac2 = bolme(dizi, ilk, son);
hizliSirala(dizi, ilk, sayac2 - 1);
hizliSirala(dizi, sayac2 + 1, son);
}
}
int bolme(int dizi[], int ilk, int son) {
int gecis, sayac, sayac2, sayac3;
gecis = dizi[ilk];
sayac = ilk;
sayac2 = son + 1;
while (1) {
do
++sayac;
while (dizi[sayac] <= gecis&&sayac <= son);
do
--sayac2;
while (dizi[sayac2] > gecis);
if (sayac >= sayac2) {
break;
}
sayac3 = dizi[sayac];
dizi[sayac] = dizi[sayac2];
dizi[sayac2] = sayac3;
}
sayac3 = dizi[ilk];
dizi[ilk] = dizi[sayac2];
dizi[sayac2] = sayac3;
return sayac2;
}
Bilgisayar mühendisliği dersinde verilen Veri Yapıları dersi içerisinde oluşturulmuş: Hızlı sıralama algoritmasıdır. Ekran Çıktısı: