从大到小的简单选择排序,希望可以帮助你:
void Sort(int * array, int length) /*对记录数组array做简单选择排序,length为待排序记录的个数*/
{
int temp;
for ( i=0 ; i< length-1 ; i++) //n-1趟排序
{
int index=i; //假设index小标的元素最大
for ( j=i+1 ; j < length ; j++) //查找更大记录的位置
if (*(array+j)>*(array+index) )
index=j;
if ( index!=i) //若无序区第一个元素不是无序区中最大元素,则进行交换
{ temp= *(array+i); *(array+i)=*(array+index); *(array+index)=temp; } //利用temp作为临时空间,两个值交换的桥梁
}
}