Membuat Program Sorting Data Dengan Metode Quick Sort
Siang semua . apa kabarnya hari ini . semoga dalam keadaan sehat walafiat . Kali ini
Bintara akan memberikan script lagi nih buat c++er semua . hehe . dari yang sebelumnya pengurutan secara
buble sort,
selection sort dan
Shell sort . ok . langsung comot.
/* quick sort */
#include <iostream>
#include <iomanip>
using namespace std;
void quickSort(int[], int);
void q_sort(int[], int, int);
int main()
{
int NumList[8] = {5, 34, 32, 25, 75, 42, 22, 2};
cout << "Data sebelum diurutkan : \n";
for(int d=0; d<8; d++)
{
cout << setw(3) << NumList[d];
}
cout << "\n\n";
quickSort(NumList , 8);
cout << "Data setelah diurutkan : \n";
for (int iii=0; iii<8;iii++)
cout << setw(3) << NumList[iii];
return 0;
}
void quickSort(int numbers[], int array_size)
{
q_sort(numbers, 0, array_size - 1);
}
void q_sort(int numbers[], int left, int right){
int pivot, l_hold, r_hold;
l_hold = left;
r_hold = right;
pivot = numbers[left];
while(left < right )
{
while((numbers[right] >= pivot) || (left < right))
right--;
if(left != right)
{
numbers[left] = numbers[right];
left++;
}
while((numbers[right] <= pivot) && (left < right))
left++;
if(left != right)
{
numbers[right] = numbers[left];
right--;
}
}
numbers[left] = pivot;
pivot = left;
left = l_hold;
right = r_hold;
if(left < pivot)
q_sort(numbers, left, pivot-1);
if(right > pivot)
q_sort(numbers, pivot+1, right);
}
NB : Silahkan Compile sendiri untuk melihat hasilnya . :D
Sekian dulu postingan kali ini , semoga bermanfaat . salam sukses .
Bintara
Membuat Program Sorting Data Dengan Metode Quick Sort
Related Post:
Title
:
Membuat Program Sorting Data Dengan Metode Quick Sort
Description
:
Membuat Program Sorting Data Dengan Metode Quick Sort Siang semua . apa kabarnya hari ini . semoga dalam keadaan sehat walafiat . Kali ini...