数据结构排序算法之选择排序

选择排序

基本思想:
在待排序列中选择最小值。

排序示例
将{ 76,38, 85, 97, 76, 13, 27, 49 }用简单选择排序方法进行排序。

第一趟: 76,38, 85, 97, 76, 13, 27, 49
13 ,38, 85, 97, 76,76, 27, 49
第二趟:13 , 38, 85, 97, 76,76, 27, 49
13 ,27, 85, 97, 76,76, 38, 49

以此类推,直至确定元素为倒数第二个数值即可。
一个完整的例子:
数据结构排序算法之选择排序_第1张图片

算法分析

1、时间复杂度
T(n)=O(n2)
2、空间复杂度
S(n)=0(1)
3、稳定性
不稳定

使用范围

1、n较小时,
2、在n个待排序的数据中选择前k(k<

Java实现代码

package com.xingyun.paixu;

public class XuanZePaiXu {
     
/*
 * 	选择排序: 每一次从待排序列中选取最小的值即可。若有n个数据,只需确定n-1个数据。
 * */
	public static void main(String[] args) {
     
		int[] stu = {
      59, 20, 17, 13, 28, 14, 23, 83, 36, 98, 11, 70, 65, 41, 42, 15 };
		System.out.println("开始了!");
		for(int i=0;i<stu.length-1;i++) {
     
			for(int j=i+1;j<stu.length;j++) {
     
				int temp=0;
				if(stu[i]>stu[j]) {
     
					temp=stu[i];
					stu[i]=stu[j];
					stu[j]=temp;
				}
			}
		}
		System.out.println("排序结束!");
		for(int i:stu) {
     
			System.out.print(i+"\t");
		}
	}

}

你可能感兴趣的:(数据结构排序算法之选择排序)