回顾篇之Java选择排序
前言:可能我们写博客不能总是写一些枯燥的论文,也不能仅仅写一些技术文章,我们可能需要在博客中加入一些其他的元素,那就来个图片表明吧。
那下面是对Java的选择排序进行了一次回顾。
package com.honzh.mwq.sort;
/**
* 选择排序.<br><br>
*
* 每一次从待排序的数据中取出最大或者最小的数,顺序的放在已排序好的数列最后,知道待排序的数组长度为1.
*
* @author qinge
*
*/
public class SelectSort {
public static void main(String[] args) {
// 数组元
int[] orgins = { 2, 1, 5, 4, 9, 8, 6, 7, 10, 3, 3 };
// 排序前的数
for (int num : orgins) {
System.out.print(num + "、");
}
System.out.println();
// 待排序数组中最大数的下标
int maxIndex;
// 控制待排序数组的长度,待排序数组为元数组的长度减去每次循环最大数之和
for (int i = 1; i < orgins.length; i++) {
maxIndex = 0;
// 待排序数组为元数组每次去除最大数剩余的无序的数组
for (int j = 1; j <= orgins.length - i; j++) {
// 找出待排序数组中的最大一个,记录其数组下标
if (orgins[j] > orgins[maxIndex]) {
maxIndex = j;
}
}
// 待排序数组中最后一位,即元数组中最靠近已找出最大数的前一位
int temp = orgins[orgins.length - i];
// 将其置换为当前最大数
orgins[orgins.length - i] = orgins[maxIndex];
// 将当前最大数下标位置的数置换
orgins[maxIndex] = temp;
// 排序前的数
for (int num : orgins) {
System.out.print(num + "、");
}
System.out.println();
}
// 排序后的数
for (int num : orgins) {
System.out.print(num + "、");
}
}
}
这些简单的排序方法都是一种经典啊