Penjelasan Metode Quick Sort Beserta Programnya Menggunakan C++

coding quick sort c++


Pultiopok.com – Quick Sort Merupakan metode tercepat dalam proses pengurutan data dengan menggunakan prinsip rekusif. Metode ini menggunakan strategi “Pecah Belah” dengan mekanisme Berikut.

Misalkan kita mempunyai Array Nilai [K..l]. Array dipartisi menjadi dua bagian array kini Nilai [k..m] dan Array kanan Nilai [m+1…l]. Dasar mempartisi array menjadi dua adalah dengan mengambil elemen  pertama sebagai elemen pivot. Letakan semua elemen Array yang lebih kecil dari pivot ke sebelah kiri pivot dan semua elemen Array yang lebih Besar dari pivot ke sebelah kanan pivot. Elemen Sebelah kanan pivot. Sedangkan Elemen-Elemen Array nilai [m+2…l] adalah semua elemen yang lebih besar dari pivot. lakukan hal yang sama seperti di atas terhadap array Nilai[k…m] dan nilai [m+1…l] sehingga tidak dapat dipartisi lagi.

Read :  Definisi Sorting dalam Konsep Struktur data Program C++

BACA JUGA: Cara membuat Program Bubble Sort pengurutan Besar Ke kecil menggunakan bahasa C++

contoh algoritma quick sort

Berikut Program Pengurutan dengan Cara Quick Sort

Pengurutan Secara Menaik

#include <iostream>
#include <conio.h>
#include <iomanip>
using namespace std;

void Cetak(int data[],int n)
{
int i;
for(i=0; i<n; i++)
cout<<setw(3)<<data[i];
cout<<“n”;
}
int Partisi(int data[], int p, int r)
{
int x, i, j, temp;
x= data[p];
i=p;
while(1)
{
while(data[j]>x)
j–;
while(data[i]<x)
i++;
if(i<j)
{
temp = data [i];
data[i] = data [j];
data[j] = temp;
}
else
return j;
}
}
void Quick_Sort(int data[], int p, int r)
{
int q;
if(p<r)
{
q=Partisi(data,p,r+1);
Quick_Sort(data, p, q);
Quick_Sort(data, q+1, r);

}
}

main()
{
int Nilai[20];
int i, N;
cout<<“Masukan Banyak Bilangan : “;
cin>>N;
for(i=0; i<N; i++)
{
cout<<“Elemen ke -“<<i<<” : “;
cin>>Nilai[i];

}
cout<<“n Data Sebelum di urut : “;
Cetak(Nilai,N);
cout<<endl;
Quick_Sort(Nilai, 0, N-1);
cout<<“n Data Setelah di urut : “;

Cetak(Nilai,N);
getch();
}

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top