下面是一个排序的代码,请帮我在里面加上计算时间的部分:
#include<iostream.h>
void main()
{
    int a[10]={5,3,-4,90,54,3,-100,1,1000,-400};
    int i,j,t;
    for(i=9;i>=0;i--)
      for(j=0;j<i;j++)
if(a[j]<a[j+1])
{
 t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
     for(i=0;i<10;i++)
     cout<<a[i]<<" ";
}

解决方案 »

  1.   

    void main()
    {
        int a[10]={5,3,-4,90,54,3,-100,1,1000,-400};
        int i,j,t;
        DWORD dwTick;
        dwTick = GetTickCount();
        for(i=9;i>=0;i--)
          for(j=0;j<i;j++)
    if(a[j]<a[j+1])
    {
     t=a[j];
    a[j]=a[j+1];
    a[j+1]=t;
    }
         dwTick = GetTickCount()-dwTick;
         cout << dwTick/1000.0 << "秒";
         for(i=0;i<10;i++)
         cout<<a[i]<<" ";
    }
      

  2.   

    #include<iostream.h>
    #include <windows.h>
    void main()
    {
        int a[10]={5,3,-4,90,54,3,-100,1,1000,-400};
        int i,j,t;
    __int64  lfreq;
    BOOL  bret=QueryPerformanceFrequency((LARGE_INTEGER*)&lfreq);__int64  lstart;
    QueryPerformanceCounter((LARGE_INTEGER*)&lstart);
        
        for(i=9;i>=0;i--)
          for(j=0;j<i;j++)
    if(a[j]<a[j+1])
    {
     t=a[j];
    a[j]=a[j+1];
    a[j+1]=t;
    }

    __int64  lstop;
    QueryPerformanceCounter((LARGE_INTEGER*)&lstop);__int64 lruntime=lstop - lstart;
    double dsec= lruntime/lfreq;
         for(i=0;i<10;i++)
         cout<<a[i]<<" ";
    }