Minggu, 25 Maret 2012

Quick Sort Dengan Cpp

Quick Sort adalah salah satu metode untuk mengurutkan suatu data yang tidak terurut. Menggunakan array sebagai penampung data.
Quick Sort ini memiliki big-O = n.
Source programnya ini.

#include <iostream>
#define n 20

using namespace std;
int Ar[n];
void quickSort(int arr[], int left, int right);

int main()
{
    int jumlahBil=5;
    cout<<"Masukkan jumlah bilangan dalam arry [Maksimal 20] : ";
    cin>>jumlahBil;
    int Ar[jumlahBil];
    for(int i=0; i<jumlahBil;i++)
    {
        cout<<"Bilangan ke-"<< i+1<<" : ";
        cin>>Ar[i];
    }

    quickSort(Ar,0,jumlahBil-1 );

    cout<<endl<<"Data yang telah diurutkan : ";
    for(int i=0; i<jumlahBil;i++)
    {
        cout<<Ar[i]<<" ";
    }
}
void quickSort(int arr[], int left, int right)
{
    int i = left, j = right;
    int tmp;
    int pivot = arr[(left + right) / 2];

    while (i <= j)
    {
        while (arr[i] < pivot)
        i++;
        while (arr[j] > pivot)
        j--;

        if (i <= j)
        {
            tmp = arr[i];
            arr[i] = arr[j];
            arr[j] = tmp;
            i++;
            j--;
        }
    };

    if (left < j)
        quickSort(arr, left, j);
    if (i < right)
    quickSort(arr, i, right);
}

Artikel Terkait Lainnya Seputar:



0 komentar:

Posting Komentar