Skip to main content

Contoh program marge sort untuk C++ || Borland C++


    
     Sesuai dengan judulnya kali ini saya akan membagikan Contoh program Marge Sort untuk C++ atau Borland C++, tapi disini saya mengguanakan void untuk penyortirannya,
     langsung saja kalian lihat sourcode dibawah ini :


 #include <stdio.h>
#include <conio.h>
#define MAX 50

void mergeSort(int arr[],int low,int mid,int high);
void partition(int arr[],int low,int high);

int main(){

    int merge[MAX],i,n;

    printf("Masukkan jumlah elemen : ");
    scanf("%d",&n);

    printf("Masukkan elemen yang akan diurutkan : \n");
    for(i=0;i<n;i++){
         scanf("%d",&merge[i]);
    }

    partition(merge,0,n-1);

    printf("Setelah menggabungkan elemen penyortiran: ");
    for(i=0;i<n;i++)
    {
         printf("%d ",merge[i]);
    }

    getch();
}

void partition(int arr[],int low,int high){

    int mid;

    if(low<high){
         mid=(low+high)/2;
         partition(arr,low,mid);
         partition(arr,mid+1,high);
         mergeSort(arr,low,mid,high);
    }
}

void mergeSort(int arr[],int low,int mid,int high){

    int i,m,k,l,temp[MAX];

    l=low;
    i=low;
    m=mid+1;

    while((l<=mid)&&(m<=high)){

         if(arr[l]<=arr[m]){
             temp[i]=arr[l];
             l++;
         }
         else{
             temp[i]=arr[m];
             m++;
         }
         i++;
    }

    if(l>mid){
         for(k=m;k<=high;k++){
             temp[i]=arr[k];
             i++;
         }
    }
    else{
         for(k=l;k<=mid;k++){
             temp[i]=arr[k];
             i++;
         }
    }

    for(k=low;k<=high;k++){
         arr[k]=temp[k];
    }
}


    Tampilan program :

Comments

Popular posts from this blog

Membuat Segitiga dengan "*" dalam Bahasa C/C++

 Dalam pemrograman, mencetak pola seperti segitiga menggunakan karakter * adalah latihan dasar yang sering digunakan untuk memahami konsep perulangan ( loop ). Pada artikel ini, kita akan belajar cara membuat segitiga menggunakan bahasa pemrograman C/C++. Konsep Dasar Kita akan menggunakan perulangan bersarang ( nested loop ) untuk mencetak segitiga. Struktur dasarnya terdiri dari: Loop luar : Mengatur jumlah baris segitiga. Loop dalam pertama : Mencetak spasi untuk merapikan segitiga. Loop dalam kedua : Mencetak karakter * membentuk segitiga. Kode Program dalam C Berikut adalah kode lengkap dalam bahasa C: #include <stdio.h> int main() { int i, j, tinggi; // Meminta pengguna memasukkan tinggi segitiga printf("Masukkan tinggi segitiga: "); scanf("%d", &tinggi); // Loop untuk baris for (i = 1; i <= tinggi; i++) { // Loop untuk mencetak spasi (agar segitiga rata tengah) for (j = 1; j <= tinggi - i; ...

Macam-Macam Header C++ ( Borland C++ ) dan Fungsinya

Macam-Macam File Header pada C++ Dan Fungsinya --Sebelum melangkah lebih jauh  untuk lebih mendalamai bahasa pemrograman C++,alangkah baiknya kita mengenal terlebih dahulu beberapa bagian dalam bahasa C++,salah satunya adalah file header.File Header merupakan sebuah file yang berisi deklarasi untuk berbagai fungsi yang dibutuhkan oleh program baik itu sebagai standar Input/Output maupun sebagai syntax. File Header dalam bahasa pemrograman C++ digunakan untuk memanggil library-library yang ada sehingga suatu fungsi dapat digunakan secara baik dan benar. #Include digunakan untuk mendeklarasikan file header dalam C++, Berikut macam-macam file header dalam bahasa pemrograman C++: 1.#Include<Iostream.h> Digunakan untuk menampilkan perintah: - Cin Merupakan fungsi masukan(digunakan untuk menyimpan data dalam suatu variabel). Bentuk umum: cin>>var x; - Cout Merupakan fungsi keluaran(digunakan untuk menampilkan data ataupun tulisan). Bentuk...

Contoh program Heap Sort untuk C++ || Borland C++

     Sesuai dengan judulnya kali ini saya akan membagikan contoh program Heap Sort untuk C++ atau Borland C++, langsung saja kalian download filenya dibawah ini : DOWNLOAD #include <stdio.h> #include <limits.h> #include <conio.h> int heap[1000000],UkuranHeap; void Init() {     UkuranHeap = 0;     heap[0] = -INT_MAX; } void Insert(int element) {     UkuranHeap++;     heap[UkuranHeap] = element; /*Sisipkan di tempat terakhir*/     /*Sesuaikan posisinya*/     int now = UkuranHeap;     while(heap[now/2] > element)     {             heap[now] = heap[now/2];             now /= 2;     }     heap[now] = element; } int DeleteMin() {     int minEl...