参照《数据结构》(C语言版)严蔚敏著
#include <iostream.h>
struct SqList
{
int r[100];
int length;
};
int slectMinKey(SqList L, int loc);
void SelectSort(SqList &L);
int main(void)
{
SqList L;
L.r[1]=49;
L.r[2]=38;
L.r[3]=65;
L.r[4]=97;
L.r[5]=76;
L.r[6]=13;
L.r[7]=27;
L.r[8]=49;
L.length=8;
SelectSort(L);
for(int i=1;i<=L.length;i++)
{
cout << L.r[i] << " ";
}
cout << endl;
return 0;
}
int selectMinKey(SqList L, int loc)
{
int minLoc=loc;
int minKey=L.r[loc];
for(int i=loc;i<=L.length;i++)
{
if(L.r[i]<minKey)
{
minKey=L.r[i];
minLoc=i;
}
}
return minLoc;
}
void SelectSort(SqList &L)
{
int temp;
int j;
for(int i=1;i<=L.length;i++)
{
j=selectMinKey(L,i);
if(i!=j)
{
temp=L.r[i];
L.r[i]=L.r[j];
L.r[j]=temp;
}
}
}