起初代碼:
#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]);
}
}
}
再次改進:
從宏下手!
結論:在內存白菜價的現(xiàn)在和將來,優(yōu)化已經(jīng)從原來的小內存往效率上傾斜了。