void CSelectSort::Sort(int a[], int n) { int key; for(int i = 0; i< n; ++i) { key = SelectMinKey(a, n,i); //选择最小的元素 if(key != i) { Swap(a, key, i); //最小元素与第i位置元素互换 } CCommon::Print(a, n , i); } }
void SelectSort(SqList *L) { /* 对顺序表L作简单选择排序。*/ int i,j; RedType t; for(i=1;i<(*L).length;++i) { /* 选择第i小的记录,并交换到位 */ j=SelectMinKey(*L,i); /* 在L.r[i..L.length]中选择key最小的记录 */ if(i!=j) { /* 与第i个记录交换 */ t=(*L).r[i]; (*L).r[i]=(*L).r[j]; (*L).r[j]=t; } } }
void SelectSort(SqList &L) { // 对顺序表L作简单选择排序。算法10.9 int i,j; RedType t; for(i=1;i<L.length;++i) { // 选择第i小的记录,并交换到位 j=SelectMinKey(L,i); // 在L.r[i..L.length]中选择key最小的记录 if(i!=j) { // 与第i个记录交换 t=L.r[i]; L.r[i]=L.r[j]; L.r[j]=t; } } }