数据结构基础算法整理归纳:选择排序(四)

这次是选择排序。所谓选择排序,就是从已知的序列中选一个出来,将其放到正确的位置,有点类似于插入排序。但对于插入排序,选择排序是对为排序的序列进行操作(从无序的序列中选出最小的),而插入排序是,从无序序列中随便(每次选无序序列中的第一个元素)取一个出来,将其按顺序插入到有序序列当中。

因此,选择排序的思想就显而易见:从无序的序列中选择一个最小(或者最大的元素),将其一次放入有序的序列当中即可。

下面是代码,Python代码如下:

def xuanze (array):
    for i in range(0,len(array)):
        j=i
        key=i
        while j<len(array) :
            if array[j]<array[key]:
                key=j
            j+=1
        temp=array[i]
        array[i]=array[key]
        array[key]=temp
    return array

Java的代码如下:

static int [] xuanze(int a[] ) {
		for(int i=0;i<a.length;i++) {
			int key=i;
			for(int j=i;j<a.length;j++) {
				if(a[j]<a[key]) {
					key=j;
				}
				
			}
			int temp=a[i];
			a[i]=a[key];
			a[key]=temp;
		}
		return a ;
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嫌疑人X的解忧杂货店

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值