(Merge Sort C++) Maksudi Indra Rukmana - 1134040 - D4 TI 3A

18:00 Pemrograman Web 10 Comments

Algoritma "Merge Sort" dengan C++ dan DevC++


*)Hasil Plagiarisme Di Bawah dan Link Github Tugas


Merge Sort adalah suatu prosedur yang dilakukan menggunakan komputer untuk pengurutan data yang tidak mampu ditampung oleh sebuah memori komputer dengan jumlahnya yang sangat banyak. Merge Sort menggunakan devide dan conquer, devide dan conquer adalah memecahkan masalah kemudian menyelesaikannya kemudian menyatukannya kembali.
Setelah menyatukan kembali datanya maka tahap selanjutnya adalah membandingkan data pertama apakah lebih besar dengan data ke tengah+1. Contoh penerapan sebuah larik array pada Merge Sort :
Masih banyak algoritma yang lain untuk mengurutkan sebuah data dan array di dalam komputer bertujuan untuk memperkecil file yang ada di dalam memori komputer sehingga tidak terjadi penumpukan file yang kapasitasnya besar.
Berikut contoh Program yang saya buat dengan C++:
#include <iostream>
using namespace std;
#include <conio.h>
void merge(int *,int, int , int );
void mergesort(int *a, int low, int high)
{
    int mid;
    if (low < high)
    {
        mid=(low+high)/2;
        mergesort(a,low,mid);
        mergesort(a,mid+1,high);
        merge(a,low,high,mid);
    }
    return;
}
void merge(int *a, int low, int high, int mid)
{
    int i, j, k, c[50];
    i = low;
    k = low;
    j = mid + 1;
    while (i <= mid && j <= high)
    {
        if (a[i] < a[j])
        {
            c[k] = a[i];
            k++;
            i++;
        }
        else
        {
            c[k] = a[j];
            k++;
            j++;
        }
    }
    while (i <= mid)
    {
        c[k] = a[i];
        k++;
        i++;
    }
    while (j <= high)
    {
        c[k] = a[j];
        k++;
        j++;
    }
    for (i = low; i < k; i++)
    {
        a[i] = c[i];
    }
}
int main()
{
    int a[20], i, b[20];
    cout<<"Masukkan Elemen\n"; //Output
    for (i = 0; i < 5; i++)
    {
        cin>>a[i];
    }
    mergesort(a, 0, 4);
    cout<<"Urutkan Array\n";
    for (i = 0; i < 5; i++)
    {
        cout<<a[i];
    }
    cout<<"Masukkan Elemen\n";
    for (i = 0; i < 5; i++)
    {
        cin>>b[i];
    }
    mergesort(b, 0, 4);
    cout<<"Urutkan Array\n";
    for (i = 0; i < 5; i++)
    {
        cout<<b[i];
    }
    getch();
}
Output :


a. Hasil Plagiarisme

b. Hasil Report Plagiarisme

10 komentar: