二分插入排序算法实现

Posted 朱国柱点滴回忆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分插入排序算法实现相关的知识,希望对你有一定的参考价值。

//二分插入排序算实现,  时间O(n)=n^2, 空间O(n)=1, 稳定的排序算法实现;

       public static void Sort04(int[] arr) {

              for (int i = 1; i <  arr.length; i++) {

                     int temp = arr[i];

                     int  low = 0;

                     int high = i-1;

                     int mid = 0;

                     while (low <= high) {

                            mid = (low+high) /  2;

                            if (arr[mid] >  temp) {

                                   high =  mid-1;

                            } else {

                                   low =  mid+1;

                            }

                     }

                     for (int j = i-1; j >=  low; j--) {

                            arr[j+1] = arr[j];

                     }

                     arr[low] = temp;

              }

       }

 


以上是关于二分插入排序算法实现的主要内容,如果未能解决你的问题,请参考以下文章

利用二分法实现插入排序算法(二分法使用递归来实现)

十大排序算法—二分法插入排序

算法之希尔排序快速排序二分查找

二分排序java实现

排序算法(冒泡,选择,插入,快速)查找算法(二分,快速)

排序算法:二分插入排序