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

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