Tugas Algoritma dan Pemrograman 2
MERGE SORT
Kelas A & B
Cara pengerjaan :
Pengerjaan dilakukan di dalam sebuah file.
File diberi nama sesuai dengan nim masingmasing dan dengan format .doc/.docx (<nim>.doc/<nim>.docx)
Pengumpulan paling lambat di klasiber, Kamis 29 Mei 2014, 23.55 waktu klasiber.
Presensi dilihat dari pengumpulan tugas.
Berikut ini adalah implementasi program untuk melakukan pengurutan dengan metode merge sort. Silakan dipelajari cara kerjanya.
#include <iostream>
using namespace std;
typedef float daftar[100];
void MergerSort(daftar Urut1,daftar Urut2,daftar &Gabung,int N1,int N2,int &i){
int i1,i2; i1=1; i2=1; i=0;
while ((i1<=N1) & (i2<=N2)){ i++;
if((Urut1[i1]<Urut2[i2])){ Gabung[i]=Urut1[i1]; i1++;
} else {
Gabung[i]=Urut2[i2]; i2++;
}; }
if(i1>N1){
while (i2<=N2){ i++;
Gabung[i]=Urut2[i2]; i2++;
};
if(i2>N2){
while (i1<=N1){ i++;
Gabung[i]=Urut1[i1]; i1++;
}; };
}
int main() {
int N;
daftar memori1, memori2, gabung; memori1[1]=10;
memori1[2]=15; memori1[3]=18; memori1[4]=20; memori1[5]=23; memori1[6]=30; memori1[7]=40; memori1[8]=50; memori1[9]=70; memori1[10]=90; memori2[1]=12; memori2[2]=14; memori2[3]=27; memori2[4]=29; memori2[5]=33; memori2[6]=35; memori2[7]=39; memori2[8]=55; memori2[9]=77; memori2[10]=88;
MergerSort(memori1,memori2,gabung,10,10,N);
return 0; }