Source code Algoritma Devide and conquer C++
#include<cstdio>
#include<stdlib.h>
#include<queue>
#include<cstring>
#include<vector>
#include<iostream>
#include<conio.h>
using namespace std;
void quickSort(int numbers[], int array_size){
q_sort(numbers, 0, array_size - 1);
}
// a recursive function that breaks down the problem into smaller ones
// until they are simple enough to solve directly
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[left] <= 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);
}
Subscribe to:
Post Comments (Atom)
0 Response to "Source code Algoritma Devide and conquer C++"
Post a Comment