快速排序算法的实现,该如何解决

快速排序算法的实现
用C语言实现快速排序   但是基本代码出来之后程序依然无法正常运行   请教大家这个程序要怎么修改才能正常运行,代码如下:
/**An   example   of   quicsort**/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define   MAXITEM   1000
#define   Cutoff   (3)

typedef   int   ElementType;

/*这是交换函数*/  
void
Swap(   ElementType   *Lhs,   ElementType   *Rhs   )
{
      ElementType   Tmp   =   *Lhs;
      *Lhs   =   *Rhs;
      *Rhs   =   Tmp;
}

/*这是插入算法的函数*/  
void
InsertionSort(   ElementType   A[   ],   int   N   )
{
      int   j,   P;
      ElementType   Tmp;

      for(   P   =   1;   P   <   N;   P++   )
            {
                  Tmp   =   A[   P   ];
                        for(   j   =   P;   j   >   0   &&   A[   j   -   1   ]   >   Tmp;   j--   )
                              A[   j   ]   =   A[   j   -   1   ];
                  A[   j   ]   =   Tmp;
            }
}

/*这是找出基准比较点的函数*/
ElementType
Median3(   ElementType   A[   ],   int   Left,   int   Right   )
{
      int   Center   =   (   Left   +   Right   )   /   2;

      if(   A[   Left   ]   >   A[   Center   ]   )
            Swap(   &A[   Left   ],   &A[   Center   ]   );
      if(   A[   Left   ]   >   A[   Right   ]   )
            Swap(   &A[   Left   ],   &A[   Right   ]   );
      if(   A[   Center   ]   >   A[   Right   ]   )
            Swap(   &A[   Center   ],   &A[   Right   ]   );
}

/*这是快速排序算法*/
void
Qsort(   ElementType   A[   ],   int   Left,   int   Right   )
{
      int   i,   j;
      ElementType   Pivot;

      if(   Left   +   Cutoff   <=   Right   )
            {
                  Pivot   =   Median3(   A,   Left,   Right   );
                  i   =   Left;   j   =   Right   -   1;
                  for(   ;   ;   )
                        {
                              while(   A[   ++i   ]   <   Pivot   ){   }