Java选择排序法
假设当前存在一个 int 类型的数组 number,该数组中的元素依次是 13、15、 24、99、4 和 1。如果使用冒泡排序进行两两相邻比较,趟排序后的结果如下:
13、15、24、4、1、99
第二趟排序后的结果如下:
13、15、4、1、24、99
第三趟排序后的结果如下:
13、4、1、15、24、99
第四趟排序后的结果如下:
4、1、13、15、24、99
第五趟排序后的结果如下:
1、4、13、15、24、99
使用选择排序法也可以对上述数组中的元素进行排序,但是它与冒泡排序不同。选择排序是指每一趟从待排序的数据元素中选出(或最小)的一个元素,顺序放在已排好序的数列的,直到全部待排序的数据元素排完。例如,使用选择排序法重新对 number 数组中的元素进行排序,那么趟排序后的结果如下:
13、15、24、1、4、99
第二趟排序后的结果如下:
13、15、4、1、24、99
第三趟排序后的结果如下:
13、1、4、15、24、99
第四趟排序后的结果如下:
4、1、13、15、24、99
第五趟排序后的结果如下:
1、4、13、15、24、99
例 1
利用选择排序方法通过编程的方式实现对 number 数组的排序,并输出已排序的数组元素。代码如下:
int[] number = {13,15,24,99,4,1};
String end = "\n";
int index;
for (int i = 1;i < number.length;i++) {
index = 0;
for(int j = 1;j <= number.length-i;j++) {
if (number[j] > number[index]) {
index = j; // 查找值
}
}
end = number[index] + " " + end; // 定位已排好的数组元素
int temp = number[number.length-i];
number[number.length-1] = number[index];
number[index] = temp;
System.out.print("【");
for (int j = 0;j < number.length-i;j++) {
System.out.print(number[j]+" ");
}
System.out.print("】"+end);
}
执行上述代码,查看每一趟排序后的结果,运行结果如下所示。
【13 15 24 1 4 】99
【13 15 4 1 】24 99
【13 1 4 】15 24 99
【4 1 】13 15 24 99
【1 】4 13 15 24 99
- 随机文章
- 核心危机(核心危机魔石合成攻略)
- 风儿(风儿轻轻的吹)
- 饿了么红包怎么用(饿了么红包怎么用微信支付)
- 光遇花手先祖位置(安卓光遇手花先祖)
- xboxones(xboxone手柄怎么配对主机)
- 兵马俑(兵马俑介绍和历史背景)
- 陈武简历
- 海猫鸣泣之时游戏(海猫鸣泣之时游戏在哪玩)
- 韩国媳妇和小雪(韩国媳妇和小雪的父亲工资是多少)
- 儋州市第二中学(儋州市第二中学录取分数线)
- 鬼泣5攻略(鬼泣5攻略第三关怎么跳)
- 地球日主题(2020年世界地球日主题)
- 冰客(冰客果汁)
- yy魔兽(yy魔兽世界)
- 国外成人游戏(国外成人游戏注册需要visa信用卡)
- 充值卡代理(充值卡代理加盟)
- 拆奶罩
- 郭妮小说(恶魔的法则郭妮小说)
- 东天目山(东天目山景区)
- 杭同(杭同培训中心怎么样)
- 大松电饭煲(美的大松电饭煲)
- 疯狂填字(疯狂填字5)
- 点对点短信息(点对点短信息费是什么意思)
- 观音普门品(观音普门品念诵全文)
- 河北省大运会(河北省大运会时间)
- 哈利波特官网(哈利波特官网在哪里)
- 骇客神条(骇客神条怎么辨别真假)
- 杜星霖(杜星霖图片)
- 广州晓港公园(广州晓港公园正门图片)
- 钢筋等级符号(钢筋等级符号电脑怎么输入)
