时间 : 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 } 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