33,008
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
int main()
{
int a[] = {32, 3, 43, 54, 45, 4, 109};
int len = sizeof(a)/sizeof(int);
for ( int i=0; i<2; ++i ) //两次排序
{
int index = i;
for ( int j=index+1; j<len; ++j )
{
if ( a[index]<a[j] )
{
index = j;
}
}
if ( index != i )
{
int tmp = a[index]; //保存
//后移
int k = index;
while ( --k>=i )
a[k+1] = a[k];
//插到i位置
a[i] = tmp;
}
}
//打印
for ( i=0; i<len; ++i )
{
printf("%d ", a[i]);
}
return 0;
}