素直にメモリ使ったらあかんの?
void swap(int*x,int*y)
{
    int wk;
    wk=*x;
    *x=*y;
    *y=wk;
}

そしたらこっちもメモリ・・・・・w
void init_array(int *pa, int n)
{
    srand((unsigned)time(NULL));
    while (n--)
      *pa++ = rand();
}