惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
SegmentFault 最新的问题
月光博客
月光博客
大猫的无限游戏
大猫的无限游戏
GbyAI
GbyAI
博客园 - 叶小钗
小众软件
小众软件
WordPress大学
WordPress大学
I
InfoQ
Last Week in AI
Last Week in AI
Vercel News
Vercel News
博客园 - Franky
Stack Overflow Blog
Stack Overflow Blog
P
Proofpoint News Feed
A
About on SuperTechFans
Engineering at Meta
Engineering at Meta
腾讯CDC
D
DataBreaches.Net
有赞技术团队
有赞技术团队
宝玉的分享
宝玉的分享
Jina AI
Jina AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
G
Google Developers Blog
V
Visual Studio Blog
酷 壳 – CoolShell
酷 壳 – CoolShell

博客园 - 方寸心间

改进的前序遍历树模型(The Nested Set Model) Strtus2 Convention Plugin - 方寸心间 hibernate3.2由hbm文件生成pojo和ddl 【转】关于Hibernate的unsaved-value 【转】IntelliJ IDEA使用技巧一览表 【转】maven2完全使用手册 【转】HSQLDB安装与使用 【转】response.setHeader参数、用法的介绍 - 方寸心间 - 博客园 Spring中使用proxool的配置+【转】proxool.xml配置属性说明 [Ubuntu][MySQL]修改MySQL编码 [Ubuntu]下安装subversion Linux下./configure错误详解 【转】CVS使用手册 [MySQL]用户密码管理 [MySQL]MySql-front连接LINUX平台的MySQL服务 [Ubuntu]Apt-get命令参数详解 sun jdk,Tomcat在Linux下的安装 [Gentoo]中文输入软件Scim的安装【转】 [Gentoo]系统时间调整【转】
【转】Java数组排序总结(冒泡,选择,插入,希尔)
方寸心间 · 2008-12-17 · via 博客园 - 方寸心间

public class SortAll {   
  
 
/**  
  * 冒泡排序,选择排序,插入排序,希尔(Shell)排序 Java的实现   
  * 2008.11.09  
  * 
@author YangL. (http://www.idcn.org)  
  
*/  
 
public static void main(String[] args) {   
  
int[] i = { 15612493233940359687 };   
  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 
+ " ");   
  }   
 }   
}