SensiZOlmuyoR.org  
Geri git   SensiZOlmuyoR.org > Pc - Bilgisayar > Programlama > C ve C++
İhbar sistemini kullanmak istermisin?


En iyi Paylaşımınız Ney¿

Cevapla
 
Konu Araçları Stil
Eski 28-01-2008, 14:29   #1 (permalink)
Banlandı
 
*MeLeK* - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: Kas 2007
Nerden: napıcan ziyaretemi geLcen!!
Mesajlar: 0
Konular: 2724
Üye No: 11416
Ruh halim:
Rep Gücü : 0
Rep Puanı : 0
Rep Seviyesi : *MeLeK* has a little shameless behaviour in the past


Standart Merge Sort


45 4 12 56 87 -6 0 587 -56 4
-56 -6 0 4 4 12 45 56 87 587


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

#define A_SIZE 10

void merge_sort(int *p, int size);
void print_array(const int *p, int size);


int main()
{
int a[A_SIZE] = {45, 4, 12, 56, 87, -6, 0, 587, -56, 4};

print_array(a, A_SIZE);
merge_sort(a, A_SIZE);
print_array(a, A_SIZE);
return 0;
}
/**************************************/
void merge_sort (int *p, int size)
{
int *t, *q, *buf;
int left, len, count1, count2, source1, source2, dest;

if (size <= 1)
return;
buf = q = (int *) malloc(size * sizeof(int));
if (buf == NULL) {
printf("not enough memory!");
exit(EXIT_FAILURE);
}
len = 1;

do {
left = size;
source1 = dest = 0; source2 = len;
do {
left -= count1 = (left >= len) ? len : left;
left -= count2 = (left >= len) ? len : left;
while (count1 > 0 && count2 > 0) {
if (p[source1] < p[source2]) {
q[dest++] = p[source1++];
count1--;
}
else {
q[dest++] = p[source2++];
count2--;
}
}
while (--count1 >= 0)
q[dest++] = p[source1++];
while (--count2 >= 0)
q[dest++] = p[source2++];
source1 += len; source2 += len;
} while (left > 0);
t = p;
p = q;
q = t;
len *= 2;
} while (len < size);
if (p == buf)
while (--size >= 0)
q[size] = p[size];
free(buf);
}
/**************************************/
void print_array(const int *p, int size)
{
int i;

for (i = 0; i < size; i++)
printf("%d ", p);
putchar('\n');
}
*MeLeK* isimli üyemiz çevrimdışıdır. (Offline)  
Bu Mesajı Google'a Ekle!Bu Mesajı FaceBook'da Paylaş!
Alıntı ile Cevapla
Cevapla

Bu konunun kısa yolunu aşağıdaki sitelere ekleyebilirsiniz!

Konu Araçları
Stil

Yetkileriniz
Konu Açma Yetkiniz Yok
Mesaj Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı

Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar son Mesaj
sort :D qRaLL Komik Resimler 4 07-03-2008 01:04
Selection Sort *MeLeK* C ve C++ 0 28-01-2008 14:27


Tüm Saatler GMT +3. Şuan Saat: 11:29 .
(Türkiye için GMT +2 seçilmelidir.)


Powered by vBulletin Version 3.7.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
www.SensiZOlmuyoR.org © 2007 - 2008


Bağış yapın

* Metin2 * Trendy Bayan *Sohbet * Bilgisonsuz