c语言堆排序计算时间


#include 
#include
#include
#define SIZE 100000
void insert(int *A,int size,int x){
    int hole=size;
    while(hole>0 && x-1)/2]){
        A[hole]=A[(hole-1)/2];
        hole=(hole-1)/2;}
    A[hole]=x;
    
}

int deleteMin(int *A,int size){
    int min=A[0],hole=0,x=A[--size];
    int sid;
    while(size-1>=(2*hole+1)){
        if(size-1==2*hole+1){
            sid=2*hole+1;
            }
        else{
            if(A[2*hole+1]2*hole+2]){
                    sid=2*hole+1;}
            else{
                    sid=2*hole+2;}
            }
        if(x<=A[sid])
            break;
        A[hole]=A[sid];
        hole=sid;
            }
    A[hole]=x;
    return min;
}
void HeapSort(int *A,int n){
    for(int i=0;iinsert(A,i,A[i]);
        }
    for(int i=n-1;i>=0;i--){
            A[i]=deleteMin(A,i+1);}
}

int main(int argc, char *argv[])
{    

    int A[SIZE];
    clock_t start,finish;
    double Total_time;
    start=clock();
    HeapSort(A,SIZE);
    finish=clock();
    Total_time=(double)(1000*(finish-start)/CLOCKS_PER_SEC);
    printf("time=%f\n",Total_time);

}

不知道哪里出错了,计算时间始终为0,但是排序正常