#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main()
{
float a[20]; int i,imax,j,t;
for(i=0;i<20;i++) //随机生成
{
a[i]=rand()%101;
cout<<a[i]<<' ';
}
cout<<endl;
for(i=0;i<19;i++) //起点后移 后面的数和第一位比
{
imax=i;
for(j=i+1;j<20;j++) //大的放在第一位
if(a[j]>a[imax])
imax=j;
t=a[imax];
a[imax]=a[i];
a[i]=t;
}
for(i=0;i<20;i++) //输出
cout<<a[i]<<' ';
system("pause");
return 0;
}
和冒泡法一样都得引入j,第一位i随着i++后移决定范围,
后面的比较就用a[j]和a[imax]比