java算法之选择排序
来源:互联网 发布:python gui wxpython 编辑:程序博客网 时间:2024/05/29 08:25
public class SelectionSort {
public static void main(String[] args) {
int[] arr = { 12, 2, 4, 43, 5 };
System.out.println("排序前:");
printArray(arr); //调用输出方法
selectionSort(arr); //进行排序
System.out.println("排序后:");
printArray(arr); //调用输出方法
}
//选择排序的实现
public static void selectionSort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {// 做第i趟排序
int k = i;
for (int j = k + 1; j < arr.length; j++) {// 选最小的记录
if (arr[j] < arr[k]) {
k = j; // 记下目前找到的最小值所在的位置
}
}
// 在内层循环结束,也就是找到本轮循环的最小的数以后,再进行交换
if (i != k) { // 交换a[i]和a[k]
int temp = arr[i];
arr[i] = arr[k];
arr[k] = temp;
}
}
}
//输出方法
public static void printArray(int[] arr) {
System.out.print("[");
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {
System.out.print(arr[i] + "]");
} else {
System.out.print(arr[i] + ",");
}
}
System.out.println();
}
}
public static void main(String[] args) {
int[] arr = { 12, 2, 4, 43, 5 };
System.out.println("排序前:");
printArray(arr); //调用输出方法
selectionSort(arr); //进行排序
System.out.println("排序后:");
printArray(arr); //调用输出方法
}
//选择排序的实现
public static void selectionSort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {// 做第i趟排序
int k = i;
for (int j = k + 1; j < arr.length; j++) {// 选最小的记录
if (arr[j] < arr[k]) {
k = j; // 记下目前找到的最小值所在的位置
}
}
// 在内层循环结束,也就是找到本轮循环的最小的数以后,再进行交换
if (i != k) { // 交换a[i]和a[k]
int temp = arr[i];
arr[i] = arr[k];
arr[k] = temp;
}
}
}
//输出方法
public static void printArray(int[] arr) {
System.out.print("[");
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {
System.out.print(arr[i] + "]");
} else {
System.out.print(arr[i] + ",");
}
}
System.out.println();
}
}
阅读全文
0 0
- Java-排序算法之选择排序算法
- Java-算法之选择排序
- java算法之选择排序
- java算法之选择排序
- Java算法之选择排序
- java排序算法之(选择法排序)
- java排序算法之选择排序
- 排序算法之选择排序(JAVA)
- Java算法排序之--选择排序
- JAVA排序算法之 选择排序
- java排序算法之三选择排序
- 排序算法之简单选择排序(Java)
- Java常用排序算法之选择排序
- 排序算法之选择法排序(Java)
- Java排序算法之选择排序
- Java系列-排序算法之选择排序
- Java排序算法之简单选择排序
- Java八大排序算法之选择排序
- html笔记
- 信息化时代文件销毁,保密工作尤为重要
- 派生类的构造方法以及修饰符的作用
- 谈谈开源(一)
- 线性表(C++)
- java算法之选择排序
- PAT 乙级练习题1018. 锤子剪刀布 (20)
- 基于MAC OSX的串口助手源代码讲解(上)
- spring boot之统一错误异常处理
- MongoDB学习笔记之 第4章 MongoDB整合Spring
- spring boot整合mybatis
- sizeof与strlen的区别
- 算法竞赛入门经典第3章习题
- php中的json_encode()和json_decode()编码与反编码