JAVA排序算法实现代码-插入排序

 

JAVA排序算法实现代码-插入排序

  1. /** 
  2.  * JAVA排序算法实现代码-插入排序。 
  3.  *  
  4.  * @author 老紫竹 JAVA世纪网(java2000.net) 
  5.  *  
  6.  */  
  7. public class Test {  
  8.   public static int[] a = { 1032195712043 }; // 预设数据数组  
  9.   
  10.   public static void main(String args[]) {  
  11.     int i; // 循环计数变量  
  12.     int Index = a.length;// 数据索引变量  
  13.   
  14.     System.out.print("排序前: ");  
  15.     for (i = 0; i < Index - 1; i++)  
  16.       System.out.print(" " + a[i] + " ");  
  17.     System.out.println("");  
  18.   
  19.     InsertSort(Index - 1); // 选择排序  
  20.     // 排序后结果  
  21.     System.out.print("排序后: ");  
  22.     for (i = 0; i < Index - 1; i++)  
  23.       System.out.print(" " + a[i] + " ");  
  24.     System.out.println("");  
  25.   }  
  26.   
  27.   public static void InsertSort(int Index) {  
  28.     int i, j, k; // 循环计数变量  
  29.     int InsertNode; // 欲插入数据变量  
  30.   
  31.     for (i = 1; i < Index; i++) // 依序插入数值  
  32.     {  
  33.       InsertNode = a[i]; // 设定欲插入的数值  
  34.       j = i - 1// 欲插入数组的开始位置  
  35.       // 找适当的插入位置  
  36.       while (j >= 0 && InsertNode < a[j]) {  
  37.         a[j + 1] = a[j];  
  38.         j--;  
  39.       }  
  40.       a[j + 1] = InsertNode; // 将数值插入  
  41.       // 打印目前排序结果  
  42.       System.out.print("排序中: ");  
  43.       for (k = 0; k < Index; k++)  
  44.         System.out.print(" " + a[k] + " ");  
  45.       System.out.println("");  
  46.     }  
  47.   }  
  48. }  


运行结果
排序前: 10 32 1 9 5 7 12 0 4
排序中: 10 32 1 9 5 7 12 0 4
排序中: 1 10 32 9 5 7 12 0 4
排序中: 1 9 10 32 5 7 12 0 4
排序中: 1 5 9 10 32 7 12 0 4
排序中: 1 5 7 9 10 32 12 0 4
排序中: 1 5 7 9 10 12 32 0 4
排序中: 0 1 5 7 9 10 12 32 4
排序中: 0 1 4 5 7 9 10 12 32
排序后: 0 1 4 5 7 9 10 12 32
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值