Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Да се напише функција за ефикасно сортирање на низа. Низата може да има 100000 елементи. */
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- void my_sort(int *a, int n) {
- // вашата функција за сортирање
- int pivot = a[n-1], i, temp;
- int id = 0;
- for (i = 0; i < n-1; i++)
- {
- if (a[i] < pivot)
- {
- temp = a[i];
- a[i] = a[id];
- a[id] = temp;
- id++;
- }
- }
- temp = a[id];
- a[id] = a[n-1];
- a[n-1] = temp;
- if (id > 1)
- {
- my_sort(a, id);
- }
- if (n-id-1 > 1)
- {
- my_sort(a+id+1, n-id-1);
- }
- }
- // не ја менувајте главната функција
- int main() {
- int n, i;
- scanf("%d", &n);
- int *a = malloc(sizeof(int) * n);
- srand(time(NULL));
- for(i = 0; i < n; ++i) {
- a[i] = rand() % 10000;
- }
- my_sort(a, n);
- int sorted = 1;
- for(i = 0; i < n - 1; ++i) {
- if(a[i] > a[i + 1]) {
- sorted = 0;
- break;
- }
- }
- if(!sorted) {
- printf("NOT SORTED");
- } else {
- printf("SORTED");
- }
- free(a);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement