diff --git a/quick_sort.cpp b/quick_sort.cpp new file mode 100644 index 0000000..aacc1f0 --- /dev/null +++ b/quick_sort.cpp @@ -0,0 +1,81 @@ +#include +#include +#include + +using namespace std; +int division(int _array[], int p, int r); +void quicksort(int _array[], int p, int r); +void show(int t[], int numbers); +clock_t start, stop; +double _time; +int numbers; + +int main() +{ + cout<<"QuickSort"; + cout<<"\nHow many numbers in array: "; + cin>>numbers; + int *_array; + _array = new int[numbers]; + srand (time(NULL)); + for(int i = 0; i < numbers; i++) + { + _array[i] = rand()%1000; + } + cout<<"\nRandom numbers: "< x) + j--; + while(_array[i] < x) + i++; + if(i < j) + { + w = _array[i]; + _array[i] = _array[j]; + _array[j] = w; + i++; + j--; + } + else + return j; + } +} + +void quicksort(int _array[], int p, int r) +{ + int q; + if(p < r) + { + q = division(_array, p, r); + quicksort(_array, p, q); + quicksort(_array, q + 1, r); + } +} + +void show(int t[], int numbers) +{ + for(int i = 0; i < numbers; i++) + { + cout<