起初代码:
#define SWAP(a,b) do {\
a = a +b;\
b = a - b;\
a = a - b;\
}while(0)
void sort(int number, int vData[])
{
int ii, jj;
for(ii=0; ii < number ; ii++)
{
for(jj=ii+1; jj < number ; jj ++)
{
if(vData[ii] > vData[jj])
{
SWAP(vData[ii], vData[jj]);
}
}
}
}
初次改进:
void sort(int number, int vData[])
{
int ii, jj;
int min;
for(ii=0; ii < number ; ii++)
{
min = ii;
for(jj=ii+1; jj < number ; jj ++)
{
if(vData[min] > vData[jj])
{
min = jj;
}
}
if(min != ii)
{
SWAP(vData[min],vData[ii]);
}
}
}
再次改进:
从宏下手!
结论:在内存白菜价的现在和将来,优化已经从原来的小内存往效率上倾斜了。