选择法排序

#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]比

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值