#include "myqsort.h" #include int my_partition(display *A, int p, int r){ int ri = p + rand() % (r - p); display tmp = A[ri]; A[ri] = A[r]; A[r] = tmp; display pivot = A[r]; int pos_pivot = p; for(int i=p; i < r; ++i){ if(A[i].p.z < pivot.p.z){ display aux = A[i]; A[i] = A[pos_pivot]; A[pos_pivot] = aux; pos_pivot++; } } display aux = A[pos_pivot]; A[pos_pivot] = pivot; A[r] = aux; return pos_pivot; } void my_qsort(display *A, int p, int r){ if(p < r){ int q = my_partition(A, p, r); my_qsort(A, p, q-1); my_qsort(A, q+1, r); } }