Sabtu, 14 Juli 2018

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 lihat sourcode 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 


Sekian Artikel mengenai  program Heap Sort untuk C++, semoga artikel ini dapat bermanfaat bagi sobat baik untuk menambah ilmu, mengerjakan tugas, maupun untuk sekedar menambah wawasan . Akhir kata, Terimakasih atas kunjungannya.


Tidak ada komentar:

Posting Komentar