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 quicksort(int a[],int first,int last){
- int pivot,j,temp,i;
- if(first<last){
- pivot=first;
- i=first;
- j=last;
- while(i<j){
- while(a[i]<=a[pivot]&&i<last)
- i++;
- while(a[j]>a[pivot])
- j--;
- if(i<j){
- temp=a[i];
- a[i]=a[j];
- a[j]=temp;
- }
- }
- temp=a[pivot];
- a[pivot]=a[j];
- a[j]=temp;
- quicksort(a,first,j-1);
- quicksort(a,j+1,last);
- }
- }
- void my_sort(int *a, int n) {
- // вашата функција за сортирање
- quicksort(a,0,n-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