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);  
    }  
}
Пример #2
0
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;
    }
  }
}
Пример #3
0
 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;
     }
   }
 }