Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #define SIZE 10000
- // Функция быстрой сортировки
- void quickSort(int *numbers, int left, int right)
- {
- int pivot;
- int l_hold = left;
- int 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)
- quickSort(numbers, left, pivot - 1);
- if (right > pivot)
- quickSort(numbers, pivot + 1, right);
- }
- int main()
- {
- time_t t0 = time(0);
- int a[SIZE];
- for (int i = 0; i < SIZE; i++)
- a[i] = rand() % 201 - 100;
- for (int i = 0; i < SIZE; i++)
- printf("%4d ", a[i]);
- printf("\n");
- quickSort(a, 0, SIZE - 1);
- time_t t1 = time(0);
- for (int i = 0; i < SIZE; i++)
- printf("%4d ", a[i]);
- printf("\n");
- //time_t t1 = time(0);
- double time_in_seconds = difftime(t1, t0);
- double timer = t1 - t0;
- int value = (int)timer ;
- printf("Time of programma : ");
- printf("%f", time_in_seconds);
- getchar();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement