使用直接选择法进行排序。
#include <stdio.h>
void DescendSort(int* L,int len);
void PrintArray(int* L,int len);
void swap(int *L,int i,int j);
int main(){
int array[]={45,56,76,234,1,34,23,2,3};
//int array[]={1,2};
DescendSort(array,sizeof(array)/sizeof(int));
//swap(array,1,2);
PrintArray(array,sizeof(array)/sizeof(int));
return 0;
}
void PrintArray(int* L,int len){
for (int i=0;i<len;++i)
{
printf("%6d",L[i]);
}
printf("\n");
}
void DescendSort(int* L,int len){//直接选择排序
int i,max,index,j;
for (i=0;i<len;++i)
{
max=L[i];//存放当前待插入的元素
for (j=i+1,index=i;j<len;++j)
{
if (L[j]>max)
{
max=L[j];
index=j;
}
}
swap(L,i,index);
}
}
void swap(int *L,int i,int j){
int temp=L[i];
L[i]=L[j];
L[j]=temp;
}