Program Merge Sort Algoritma Pemograman C++

#include <iostream>
#include <Windows.h>
using namespace std;

void merge(int *data,int awal,int akhir)
{
        system("color 37");
        int tengah,i,j,k,l,data_tampung[akhir+1];
        if (awal<akhir){
            tengah=(awal+akhir)/2;
            merge(data,awal,tengah);
            merge(data,tengah+1,akhir);
            i=awal;
            j=tengah+1;
            k=awal;
            while (i<=tengah && j<=akhir){
                if (data[i]<data[j]){
                    data_tampung[k]=data[i];
                    i++;
                }else{
                    data_tampung[k]=data[j];
                    j++;
                   
                }
                k++;
            }
            while (i<=tengah){
                data_tampung[k]=data[i];
                i++;
                k++;
            }
            while (j<=akhir){
                data_tampung[k]=data[j];
                j++;
                k++;
            } 
            for(l=awal;l<=akhir;l++){
                data[l]=data_tampung[l];
               
            }
        }

}
int main(int argc, char **argv)
{
int data[8]={6,5,3,1,8,7,2,4},awal=0,banyak_data=8;
    merge(data,awal,banyak_data-1);
   
    for(int tampil:data){
        cout<< tampil <<" ";
    }
   
return 0;
}





  

Posting Komentar

0 Komentar