Program mengurutkan deret data dengan menggunakan merge sort
#include <iostream>
using namespace std;
void merge(int low, int mid, int up);
void mergeSort(int low, int up);
int a[9] = {8 , 1 , 4 , 9 , 7 , 3 , 5 , 2 , 7 };
int main()
{
int jumlahBil,i;
for(int i=0; i<9;i++)
{
cout<<"Bilangan ke- ["<< i + 1 << "] "<<a[i]<<endl;
}
mergeSort(1,9);
for(i=0;i<9;i++)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}
void merge(int low, int mid, int up)
{
int h, i,j,k;
int b[50];
h = low;
i = low;
j = mid+1;
while((h<=mid)&&(j<=up))
{
if(a[h] < a[j])
{
b[i]=a[h];
h++;
}
else
{
b[i]=a[j];
j++;
}
i++;
}
if(h>mid)
{
for(k=j;k<=up;k++){
b[i]=a[k];
i++;
}
}
else
{
for(k=h;k<=mid;k++)
{
b[i]=a[k];
i++;
}
}
for(k=low;k<=up;k++) a[k]=b[k];
}
void mergeSort(int low, int up)
{
int mid;
if(low<up)
{
mid=(low+up)/2;
mergeSort(low,mid);
mergeSort(mid+1,up);
merge(low,mid,up);
}
}
Rabu, 13 April 2016
Langganan:
Posting Komentar (Atom)
Refleksi minggu ke 2
Refleksi Pertemuan ke 2 Assalamu'alaikum w. wb., Selamat berjumpa lagi teman-teman, baik saya disini akan menuliskan tentang refl...
-
KATA PENGANTAR Puji dan syukur kami panjatkan kepada Allah SWT, karena atas rahmat dan karunia-Nya kami dapat menyelesaikan tugas ini...
-
Pertemuan ke-1 Buatlah contoh yang paling sering menjadi kegiatan sehari-hari dari : - Algoritma - Pemrograman Cara memas...
-
Algoritma menetukan segitiga {Dibaca 3 bilangan segmen garis, kemudian menentukan apakah membentuk segitiga} Deklarasi a,b,c : float...
Tidak ada komentar:
Posting Komentar