时间 : 19-05-16 栏目 : Java技术 作者 : 冰镇宝贝321 评论 : 1 点击 : 3,207 次
所谓排序,就是把一系列同类型的元素按照一定规则顺序排好.
选择排序也是其中的方法之一,选择排序的思想主要放在"选择"二字,主要就是从待排序的序列中寻找最大/最小值,然后放到已经排好序的下一个交换位置。
要排的序列为 int array[] = {12,32,2,4,6,54,34,76,89,32,14};
(红色代表已排序列,黑色代表待排序列,绿色代表待排序列中的最小值)
第一次: {12,32,2,4,6,54,34,76,89,32,14 } 12与2交换 -> {2,32,12,4,6,54,34,76,89,32,14 }
第二次: {2,32,12,4,6,54,34,76,89,32,14 } 32与4交换 -> {2,4,12,32,6,54,34,76,89,32,14 }
第三次: {2,4,12,32,6,54,34,76,89,32,14 } 12与6交换 -> {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