java编程之选择排序法
来源:互联网 发布:网络设计好学吗 编辑:程序博客网 时间:2024/06/09 14:15
java编程之选择排序法
今天对以前学的数组拿过来又看了一下,以前在学习排序的时候有些东西一知半解,温故而知新嘛,于是在这里拿出来再加深一遍,把方法分享给大家。
- 话不多说,直接上代码
代码块
package november27;
public class TestArray {
public static void main(String[] args) { int[] a = { 9, 8, 2, 5, 1, 3, }; print(a);//打印未排序的数组 selectSort(a);//对数组进行排序 print(a);//打印排序完之后的数组}// 定义选择排序法打印数组public static void selectSort(int[] a) { for (int i = 0; i < a.length; i++) { for (int j = i + 1; j < a.length; j++) { int temp; if (a[j] < a[i]) { temp = a[j]; a[j] = a[i]; a[i] = temp; } } }}//定义一个将数组打印出来的方法public static void print(int[] a) { for (int i = 0; i < a.length; i++) { System.out.print(a[i] + " "); } System.out.println();//换行}
}
解释
for (int i = 0; i < a.length; i++) {
for (int j = i + 1; j < a.length; j++) {
int temp;
if (a[j] < a[i]) {
temp = a[j];
a[j] = a[i];
a[i] = temp;
}
}
}
初始序列:{9 8 2 5 1 3 }
假设前面的数比后面的数大,如果假设成立则互换位置。
每一轮下来选出一个最小的,放在最前面。
a[i]>a[j]
i=0
j=1 > 8 9 2 5 1 3
j=2 > 2 9 8 5 1 3
j=3 > 2 9 8 5 1 3
j=4 > 1 9 8 5 2 3
j=5 > 1 9 8 5 2 3
i=1
j=2 > 1 8 9 5 2 3
j=3 > 1 5 9 8 2 3
j=4 > 1 2 9 8 5 3
j=5 > 1 2 9 8 5 3
i=2
j=3 > 1 2 8 9 5 3
j=4 > 1 2 5 9 8 3
j=5 > 1 2 3 9 8 5
i=3
j=4 > 1 2 3 8 9 5
j=5 > 1 2 3 5 9 8
i=4
j=5 > 1 2 3 5 8 9
第4轮循环即可排列出顺序,重点的一个就是每一轮循环总是选出最小的数,这是关键。
- java编程之选择排序法
- java排序算法之(选择法排序)
- 排序算法之选择法排序(Java)
- Java之选择排序
- java之选择排序
- JAVA之选择排序
- Java之选择排序
- Java之选择排序
- Java排序之选择排序
- java 排序 之选择排序
- Java排序之选择排序
- Java 排序之 选择排序
- java排序之 选择排序
- java排序之 选择排序
- java排序之 --- 选择排序
- "选择排序"算法-之通俗易懂原理讲解-java编程
- 选择排序法之Java实现
- 选择排序法之Java实现
- JavaScript篇之DOM属性对象
- 传送门
- Atiit 如何手写词法解析器
- 西山居笔试题
- Base64加解密的两种实现方式
- java编程之选择排序法
- First
- 【Python】Python中变量的定义、以及变量的命名规则
- JS生成二维码
- 金山软件有限公司西山居工作室 程序类笔试试卷
- grub2引导丢失恢复和配置简述
- Python闯关
- C语言 — 实现扫雷小游戏
- C++14学习笔记(1)——泛型Lambda