Java排序算法之插入排序

布满荆棘的人生 2022-04-13 13:09 279阅读 0赞
  1. 最近接触了插入排序算法,查了一些资料,写一些自己的理解吧。这种排序方式感觉有些像选择排序法,选择排序法是将当前元素与之后的所有元素逐一比较,从而找出最大或最小值,而插入排序时将当前元素与之前元素逐一比较,从而找到该元素合适的位置。下面看一个例子吧:
  2. 例如:将一组数【142213619】按插入排序。
  3. 第一趟:从第二个元素2开始,214小,交换位置,变为【214213619】;
  4. 第二趟:对于第三个元素21,他大于14,所以不用动,还是为【214213619】;
  5. 第三趟:对于第四个元素36,他大于21,所以不用动,还是为【214213619】;
  6. 第四趟:对于第五个元素19,他小于36,交换两者位置:【214211936】,然后再比较192419小于24,交换位置:【214192136】,然后再比较191419大于14,不用动;那么顺序就排出来了。
  7. 下面用代码来实现:
  8. @Test
  9. public void test3(){
  10. int[] arr = new int[]{4,32,12,3,45,6};
  11. int temp;
  12. for(int i=1;i<arr.length;i++){
  13. temp = arr[i];
  14. int j;
  15. for(j=i-1;j>=0;j--){
  16. if(arr[j]>temp){
  17. arr[j+1]=arr[j];
  18. }else{
  19. break;
  20. }
  21. }
  22. arr[j+1]=temp;
  23. System.out.println(i+":"+ Arrays.toString(arr));
  24. }
  25. }

运行结果为:

20181129161217322.png

发表评论

表情:
评论列表 (有 0 条评论,279人围观)

还没有评论,来说两句吧...

相关阅读

    相关 java排序算法插入排序

    插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入

    相关 排序算法插入排序

    \[插入排序-普通插入排序\] 1.算法思想 将元素a视为基序列,遍历数组将元素a右边的元素依次插入序列中,找到比自己小的数置于其后,保证序列一直处于已排序的状态

    相关 排序算法插入排序

    插入排序> 对于排序相信大家都不陌生,就是将一组数据按照从大到小(降序)或者是从小到大(升序)进行排列,那仫常见的排序算法有哪些呢?我总结了以下几种常见的排序算法,在本篇文

    相关 Java排序算法插入排序

           最近接触了插入排序算法,查了一些资料,写一些自己的理解吧。这种排序方式感觉有些像选择排序法,选择排序法是将当前元素与之后的所有元素逐一比较,从而找出最大或最小值,

    相关 排序算法插入排序

    插入排序类似于打扑克,取出未排序的一张牌插入到已排序的牌中,取出的一张牌是在已排序好的牌中从后向前查找,直到查找到比当前牌小的那个位置,然后插入进去 示例代码: \[9, 1