java插入排序
来源:互联网 发布:通达信看盘软件 编辑:程序博客网 时间:2024/06/05 23:51
插入排序适合序列中已经有部分数据是已经排序过的状态。
int[] a = {222,44,11,63,84,24,53,123,25,98,76,34};挨个读取数组a中的每个元素,将它与前面的数做对比,如果比前面的小就将前面的数向后移,当移动停止时,将该数填充到空出的位置。
第一次:222前面没有数不做变化。
第二次:44小于222,将222后移一位变成了{x,222,11,63,84,24,53,123,25,98,76,34},最后将44填充到x的位置(移动222后空出的位置),数组变成了{44,222,11,63,84,24,53,123,25,98,76,34}
第三次:11小于222,222向后移动一位变成{44,x,222,63,84,24,53,123,25,98,76,34},11再和44比较,11小于44,44向后移动一位变成{x,44,222,63,84,24,53,123,25,98,76,34}
再将11填写到x的位置,变成{11,44,222,63,84,24,53,123,25,98,76,34}。
下面附上代码:
import java.util.Arrays;public class InsertSort {public static void main(String args[]){int[] a = {222,44,11,63,84,24,53,123,25,98,76,34};insertSort(a);System.out.println(Arrays.toString(a));}private static void insertSort(int[] a) {for(int i=1;i<a.length;i++){int temp = a[i]; int index = i-1;while(index >=0 && temp < a[index]){a[index + 1] = a[index];index -- ;}a[index+1] = temp;}}}
1 0
- Java排序--插入排序
- 排序-插入排序-Java
- 插入排序--直接插入排序[Java实现]
- 插入排序--折半插入排序[Java实现]
- java插入排序之直接插入排序
- 【插入排序】直接插入排序--Java
- 【插入排序】二分插入排序--Java
- 插入排序----直接插入排序----java实现
- [java]插入排序及折半插入排序
- java插入排序--直接插入排序
- Java插入排序
- java插入排序算法
- JAVA 插入排序
- JAVA插入排序分析
- java实现插入排序
- 插入排序java
- java 插入排序
- 插入排序(java)
- GPUImage滤镜中的shader代码分析,及自定义滤镜
- 妈妈最伟大
- Microsoft.Practices.EnterpriseLibrary.Data.dll
- 深入理解linux内核---进程(下)
- 用结构体中的位域来判断整数的奇偶(也可用来判断其正负)
- java插入排序
- iframe和frameset的后台设置
- 为什么我们总是完不成目标
- 自定义服务器控件效果
- 光栅化
- 从数据在页面显示不解析
- 小小的使能端
- 黑马程序员_多线程和String类
- 第十四周项目一动物这样叫(2)