package org.idcn.jse; public class SortAll { /** * 冒泡排序,选择排序,插入排序,希尔(Shell)排序 Java的实现 */ public static void main(String[] args) { int[] i = { 1, 5, 6, 12, 4, 9, 3, 23, 39, 403, 596, 87 }; System.out.println("----冒泡排序的结果:"); maoPao(i); System.out.println(); System.out.println("----选择排序的结果:"); xuanZe(i); System.out.println(); System.out.println("----插入排序的结果:"); chaRu(i); System.out.println(); System.out.println("----希尔(Shell)排序的结果:"); shell(i); } // 冒泡排序 public static void maoPao(int[] x) { for (int i = 0; i < x.length; i++) { for (int j = i + 1; j < x.length; j++) { if (x[i] > x[j]) { int temp = x[i]; x[i] = x[j]; x[j] = temp; } } } for (int i : x) { System.out.print(i + " "); } } // 选择排序 public static void xuanZe(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 : x) { System.out.print(i + " "); } } // 插入排序 public static void chaRu(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 : x) { System.out.print(i + " "); } } // 希尔排序 public static void shell(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 : x) { System.out.print(i + " "); } } }
插入排序另种写法:
// 插入排序 public static void chaRu(int[] x) { for (int i = 1; i < x.length; i++) {// i从一开始,因为第一个数已经是排好序的啦 for (int j = i; j > 0 && x[j] < x[j - 1]; j--) { int temp = x[j]; x[j] = x[j - 1]; x[j - 1] = temp; } } for (int i : x) { System.out.print(i + " "); } }
相关推荐
JAVA排序汇总JAVA排序汇总JAVA排序汇总
java排序算法使用及场景说明 文档后面有一些别人的链接,多在google上搜索Java排序算法,及维基百科上面也有很全的算法介绍。
java排序.txt
java排序 java 排序 排序大全 算法 java算法
JAVA排序汇总,java应用中一些比较经典的排序算法
java排序大全(含各种常用得排序算法),学习排序不错得资料
java排序算法大全 为了便于管理,先引入个基础类: 一 插入排序 二 冒泡排序 三,选择排序 四 Shell排序 五 快速排序 六 归并排序 等等
java排序,简单介绍了java的主要有那些排序方法。
Java排序算法代码.
java排序Comparator和Comparable
Java 中的一些重要排序,比如冒泡,直接插入排序
Java排序方法详解大全 Java排序 快速排序 冒泡排序
java实现的常用的几种基本排序算法,插入、交换、选择、归并
java代码-使用java解决java排序之-快速排序的问题的源代码 ——学习参考资料:仅用于个人学习使用!
Java排序算法:插入,冒泡,选择,Shell,快速排序,归并排序,堆排序,桶式排序,基数排序
java排序排序java排序排序java排序排序java排序排序
执行语句:java sort <输入方式> <图形界面/非图形界面选择> <待排序数列> 例: java sort 0 643 323 12 3 523 23 //命令行输入数据并排序 java sort 1 1 //非图形界面下手动输入数据并排序 java sort 1 2 //手动...
java排序方法 java排序方法 java排序方法 java排序方法
Java排序算法实现 Java排序算法实现 Java排序算法实现
java 排序方法 面试的时候会碰到 下载学习吧