欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-02-23 10:30:34
...

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

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

下面是代码,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 ;
	}