c语言堆排序计算运行时间


#include 
#include"time.h"
#include
#define SIZE 100000
int A[SIZE];
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(){    
    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=%ld  %ld",start,finish);

}

运行时间总为0,但是不用size,输入数进去,出来结果是对的,不知道哪里出了问题