# Include <string. h> # include <time. h> # define buffer_size 10int partition (int * a, int P, int R) {int x = 0; int I = 0; Int J = 0; int TMP = 0; X = A [R]; I = p-1; For (j = P; j <r; j ++) {// divide the array into four zones, (A [p] ~ A [I]) <= x, (a [I + 1] ~ A [J-1])> X, (a [J] ~ A [r-1]) Not sure yet, a [R] = x if (a [J] <= x) {I ++; TMP = A [I]; A [I] = A [J]; A [J] = TMP;} TMP = A [I + 1]; A [I + 1] = X; A [R] = TMP; return I + 1;} void quicksort (int * a, int P, int R) {int q = 0; If (P <R) {q = partition (A, P, R); quicksort (A, P, q-1); quicksort (A, q + 1, R) ;}} int main () {int I = 0; Int J = 0; int A [buffer_size]; // randomly generated array srand (unsigned) Time (null); For (j = 0; j <buffer_size; j ++) {A [J] = rand () % 100;} printf ("randomly generated array: \ n"); for (I = 0; I <buffer_size; I ++) {printf ("% d", a [I]);} printf ("\ n"); quicksort (A, 0, BUFFER_SIZE-1 ); printf ("Sort arrays quickly: \ n"); for (I = 0; I <buffer_size; I ++) {printf ("% d ", A [I]);} system ("pause"); Return 0 ;}