每天一个排序方法-选择排序

时间 : 19-05-16 栏目 : Java技术 作者 : 冰镇宝贝321 评论 : 1 点击 : 2,417 次

     所谓排序,就是把一系列同类型的元素按照一定规则顺序排好.

    选择排序也是其中的方法之一,选择排序的思想主要放在"选择"二字,主要就是从待排序的序列中寻找最大/最小值,然后放到已经排好序的下一个交换位置。

    要排的序列为 int array[] = {12,32,2,4,6,54,34,76,89,32,14};

     (红色代表已排序列,黑色代表待排序列,绿色代表待排序列中的最小值)

    第一次: {12,32,2,4,6,54,34,76,89,32,14 }  122交换 -> {2,32,12,4,6,54,34,76,89,32,14 }

    第二次: {2,32,12,4,6,54,34,76,89,32,14 }  324交换 -> {2,4,12,32,6,54,34,76,89,32,14 } 

    第三次: {2,4,12,32,6,54,34,76,89,32,14 }  126交换 -> {2,4,6,32,12,54,34,76,89,32,14 }

    .........

    第N次:{2, 4, 6, 12, 14, 32, 32, 34, 54, 76, 89}

package 排序算法;

public class XuanZePaiXu {
    public static void main(String[] args) {
	// TODO Auto-generated method stub
	/**
	* 选择排序法 是对 定位比较交换法(也就是冒泡排序法) 的一种改进。
	* 选择排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。
	* 基于此思想的算法主要有简单选择排序、树型选择排序和堆排序。

	* 简单选择排序的基本思想:
	* 第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换;
	* 第2趟,在待排序记录r[2]~r[n]中选出最小的记录,将它与r[2]交换;
	* 以此类推,第i趟在待排序记录r[i]~r[n]中选出最小的记录,将它与r[i]交换,
	* 使有序序列不断增长直到全部排序完毕。
	* */
	int [] choose= {12,32,2,4,6,54,34,76,89,32,14};
	int temp;
	for(int i=0;i<choose.length-1;i++) {
	    for(int j=i+1;j<choose.length;j++) {
		if(choose[i]>choose[j]) {
		    temp=choose[i];
		    choose[i]=choose[j];
    		    choose[j]=temp;
		    }
		}
	}
	for(int cc:choose){
	    System.out.println(cc);
	}
    }
}




本文标签 , ,

除非注明,文章均为( 冰镇宝贝321 )原创,转载请保留链接: https://bkqv5.com/archives/351.html

每天一个排序方法-选择排序:目前有1 条留言

  1. Post:2019-05-16 下午6:45

    :mrgreen:

发表评论




1