Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <time.h>
- using namespace std;
- void show(int* tab, int n) {
- for (int i = 0; i < n; i++) cout << tab[i] << " ";
- cout << '\n';
- }
- void swap(int* T, int a, int b) {
- int tmp = T[a];
- T[a] = T[b];
- T[b] = tmp;
- }
- int podzielTablice(int* T, int l, int r) {
- int pivotValue = T[l];
- int poz = l + 1;
- for (int i = l + 1; i <= r; i++) {
- if (T[i] < pivotValue) {
- swap(T, poz, i);
- poz++;
- }
- }
- swap(T, l, poz - 1);
- return poz - 1;
- }
- void quickSort(int* T, int l, int r) {
- if (l < r)
- {
- int i = podzielTablice(T, l, r);
- quickSort(T, l, i-1);
- quickSort(T, i + 1, r);
- }
- }
- int main(int argc, char** argv) {
- srand(time(NULL));
- int *T = new int[12];
- T[0] = 13;
- T[1] = 12;
- T[2] = 11;
- T[3] = 9;
- T[4] = 8;
- T[5] = 7;
- T[6] = 6;
- T[7] = 5;
- T[8] = 4;
- T[9] = 3;
- T[10] = 2;
- T[11] = 1;
- //for (int i = 0; i < 12; i++) T[i] = rand() % 10;
- show(T, 12);
- quickSort(T, 0, 11);
- //podzielTablice(T, 0, 11);
- show(T, 12);
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement