【Java开源代码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。网学会员整理了Java开源代码-TextSort.java的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
package com.zf.s4;//创建一个包
public class TextSort {// 操作排序的类
public static void bubbleSort(int[] x) {// 冒泡排序
for (int i = 0; i < x.length; i++) {
for (int j = i + 1; j < x.length; j++) {
if (x[i] > x[j]) {// 将下标为i的数与下标为j的数进行比较
int temp = x[i];// 元素交换
x[i] = x[j];
x[j] = temp;
}
}
}
for (int i = 0; i < x.length; i++) {// 循环将重新排序的结果输出
System.out.print(x[i] + " ");
}
}
public static void selectSort(int[] x) {// 选择排序
for (int i = 0; i < x.length; i++) {
int lowerIndex = i;
for (int j = i + 1; j < x.length; j++) {// 循环找出最小的一个索引
if (x[j] < x[lowerIndex]) {
lowerIndex = j;
}
}
int temp = x[i];// 交换
x[i] = x[lowerIndex];
x[lowerIndex] = temp;
}
for (int i = 0; i < x.length; i++) {// 循环将重新排序的结果输出
System.out.print(x[i] + " ");
}
}
public static void insertSort(int[] x) {// 插入排序
for (int i = 1; i < x.length; i++) {// i从一开始,因为第一个数已经是排好序的
for (int j = i; j > 0; j--) {
if (x[j] < x[j - 1]) {
int temp = x[j]; // 元素交换
x[j] = x[j - 1];
x[j - 1] = temp;
}
}
}
for (int i = 0; i < x.length; i++) {// 循环将重新排序的结果输出
System.out.print(x[i] + " ");
}
}
public static void shellSort(int[] x){// 希尔排序
for (int increment = x.length / 2; increment > 0; increment /= 2){//循环进行分组
for (int i = increment; i < x.length; i++) {//循环每个组内排序
int temp = x[i];
int j = 0;
for (j = i; j >= increment; j -= increment) {
if (temp < x[j - increment]) {//元素进行判断、交换
x[j] = x[j - increment];
} else {
break;
}
}
x[j] = temp;
}
}
for (int i = 0; i < x.length; i++) {// 循环将重新排序的结果输出
System.out.print(x[i] + " ");
}
}
public static void main(String[] args) {// java程序的主入口处
int[] arr = { 1, 5, 6, 12, 4, 9, 3, 23, 39, 403, 596, 87 };
System.out.println("----冒泡排序的结果:");
bubbleSort(arr);// 调用冒泡排序方法
System.out.println();
System.out.println("----选择排序的结果:");
selectSort(arr);// 调用选择排序方法
System.out.println();
System.out.println("----插入排序的结果:");
insertSort(arr);// 调用插入排序方法
System.out.println();
System.out.println("----希尔(Shell)排序的结果:");
shellSort(arr);// 调用希尔(Shell)排序
}
}
上一篇:
TextSolveDeadLock.java
下一篇:
法律专业开题报告范文