原文链接:http://blog.youkuaiyun.com/morewindows/article/details/6671824
void SelectSort(int *a,int n){
int i,j;
int nMinIndex;
for(i = 0;i < n;i++){
nMinIndex = i;
for(j = i + 1;j < n;j++)
if(a[j] < a[nMinIndex])
nMinIndx = j;
swap(a[i],a[nMinIndex]);
}
}
关于swap
inline swap(int &a,int &b){
int c = a;
a = b;
b = c;
}
inline swap2(int &a,int &b){
a ^= b;
b ^= a;
a ^= b;
}
改进
inline swap3(int &a,int &b){
if(a != b){
a ^= b;
b ^= a;
a ^= b;
}