Skip to main content

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 :



#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 minElement,lastElement,child,now;
    minElement = heap[1];
    lastElement = heap[UkuranHeap--];

    for(now = 1; now*2 <= UkuranHeap ;now = child)
    {
            child = now*2;
            if(child != UkuranHeap && heap[child+1] < heap[child] )
            {
                    child++;
            }
            if(lastElement > heap[child])
            {
                    heap[now] = heap[child];
            }
            else
            {
                    break;
            }
    }
    heap[now] = lastElement;
    return minElement;
}
int main()
{
    int number_of_elements;
    printf("Masukkan Berapa Banyak Elemen yang Ingin dimasukkan : ");
    scanf("%d",&number_of_elements);
    int iter, element;
    Init();
    printf("Masukkan %d Elemen : \n",number_of_elements);
    for(iter = 0;iter < number_of_elements;iter++)
    {
        scanf("%d",&element);
        Insert(element);
    }
    printf("Heap Sort Array : \n");
    for(iter = 0;iter < number_of_elements;iter++)
    {
        printf("%d ",DeleteMin());
    }
    printf("\n");
    getch();
}


    Tampilan program :

Comments

  1. gk bisa codingannya, error , id returned 1 exit status
    downloatannya juga susah, karena disuruh pay :'(

    ReplyDelete
  2. Min tolong minta algoritma nya program diatas 🙏

    ReplyDelete

Post a Comment

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; ...

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

     Sesuai dengan judulnya kali ini saya akan membagikan Contoh program radix sort untuk C++ atau Borland C++, langsung saja kalian download filenya dibawah ini : DOWNLOAD #include <stdio.h> #include <conio.h> #define MAX 100 #define SHOWPASS void print(int *a, int n) {      int i;      for (i = 0; i < n; i++)       printf("%d\t", a[i]); } void radix_sort(int *a, int n) {      int i, b[MAX], m = 0, exp = 1;      for (i = 0; i < n; i++) {      if (a[i] > m)         m = a[i];  }     while (m / exp > 0)     {         int box[10] = { 0 };         for (i = 0; i < n; i++)             box[a[i] / exp % 10]++;   ...

Contoh program penggabungan dua string untuk C++ || Borland C++

    Sesuai dengan judulnya kali ini saya akan membagiakan program penggabungan atau menyatukan dua buat kata ( string ) menjadi satu kalimat, langsung saja kalian lihat sourcode dibawah ini : #include <stdio.h> #include <string.h> #include <conio.h> void concat(char[], char[]); int main() {    char s1[50], s2[30];    printf("\nMasukkan kata pertama : ");    gets(s1);    printf("\nMasukkan kata kedua : ");    gets(s2);    concat(s1, s2);    printf("\nKalimat yang terbentuk adalah : %s", s1);    getch(); } void concat(char s1[], char s2[]) {    int i, j;    i = strlen(s1);    for (j = 0; s2[j] != '\0'; i++, j++)    {       s1[i] = s2[j];    }    s1[i] = '\0'; }     Tampilan program :