package com.cn.hbut.daoImpl;/*** @author Administrator* 直接插入排序**/
public class InsertSort {//直接插入排序//{3 2 1 5 6}//{2 3 1 5 6}public static void insertSort(int [] arr){for(int i=1;i<arr.length;i++){int temp =arr[i];int j=i-1;while(j>=0&&arr[j]>temp){arr[j+1]=arr[j];j--;}arr[j+1]=temp;}}//二次插入排序//思想:[有序区]-[无序区],把无序区的数加入到有序区,插入是二分插入法寻找点//{3 2 1 5 6}//{2 3 1 5 6}public void secondInertSort(int [] arr){int i,j,low ,high,mid;int temp;for(i=1;i<arr.length;i++){low=0;high=i-1;temp=arr[i];while(low<=high){mid=(low+high)/2;if(arr[mid]>temp){high=mid-1;}if(arr[mid]<temp){low=mid+1;}}//记录后移for(j=i-1;j>=high+1;j--){arr[j+1]=arr[j];}arr[high+1]=temp;}}public static void main(String[] args) {int [] arr ={3,2,1,5,6};
//      InsertSort.insertSort(arr);InsertSort sort = new InsertSort();sort.secondInertSort(arr);for(int x:arr){System.out.print(x+" ");}}}

数据结构之二分插入排序------java实现相关推荐

  1. 数据结构:二分查找 java

    为什么80%的码农都做不了架构师?>>>    二分查找的前提是有序存储,利用顺序存储和元素排序 /*** 二分查找,查找成功,返回下标记* @param values* @para ...

  2. Java数据结构与算法——插入排序

    声明:码字不易,转载请注明出处,欢迎文章下方讨论交流. 前言:Java数据结构与算法专题会不定时更新,欢迎各位读者监督.本篇文章介绍排序算法中插入排序算法,包括插入排序的思路,适用场景,性能分析,ja ...

  3. binarysearch java,java数据结构之二分查找法 binarySearch的实例

    java数据结构之二分查找法 binarySearch的实例 折半查找法,前提是已经排好序的数组才可查找 实例代码: public class BinarySearch { int[] bArr; p ...

  4. java二分排序法原理_Java常见排序算法详解—— 二分插入排序

    转载请注明出处: 二分插入排序Binary Insert Sort 概念: 二分(折半)插入排序是一种在直接插入排序算法上进行小改动的排序算法.其与直接排序算法最大的区别在于查找插入位置时使用的是二分 ...

  5. 我的Java开发学习之旅------Java经典排序算法之二分插入排序

    一.折半插入排序(二分插入排序) 将直接插入排序中寻找A[i]的插入位置的方法改为采用折半比较,即可得到折半插入排序算法.在处理A[i]时,A[0]--A[i-1]已经按关键码值排好序.所谓折半比较, ...

  6. (六)Java算法:二分插入排序

    目录 一.前言 二.maven依赖 三.实现 3.1.详解版 3.2.日志精简版 结语 一.前言   插入排序常见的有两种:直接插入排序 和 二分插入排序,我们上一篇算法已经讲过了直接插入排序,现在我 ...

  7. 数据结构与算法【Java】05---排序算法总结

    前言 数据 data 结构(structure)是一门 研究组织数据方式的学科,有了编程语言也就有了数据结构.学好数据结构才可以编写出更加漂亮,更加有效率的代码. 要学习好数据结构就要多多考虑如何将生 ...

  8. 二分排序java实现

    1.什么是二分排序: 二分排序是指利用二分法的思想对插入排序进行改进的一种插入排序算法,不同于二叉排序,可以利用数组的特点快速定位指定索引的元素: 算法思想:二分法插入排序是在插入第i个元素时,对前面 ...

  9. 插入排序算法 java_排序算法实现-插入排序(Java版本)

    原标题:排序算法实现-插入排序(Java版本) 插入排序(英语:Insertion Sort)是一种简单直观的排序算法.它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到 ...

最新文章

  1. 感光电路板制作(转收藏)
  2. [置顶] Android面试题目之四: 归并排序
  3. 两个数组找相同元素_Excel 数组公式全面解析
  4. LAMP架构介绍,MySQL、MariaDB介绍,MySQL安装
  5. 小程序 setData 学问多
  6. 数学之美笔记(十三)
  7. airflow零基础入门
  8. iphone 抹除设备是什么意思_SMT设备有哪些,SMT是什么意思?
  9. react-native 热更新react-native-pushy集成遇到的问题
  10. 学java要算法吗_学习java不可不知的几种算法
  11. Spring Boot自动配置与Spring 条件化配置
  12. 在CentOs 5.1中使用rpm安装NGINX+php+mysql(二)
  13. 【软件工程导论题型大总结】画图题总结
  14. 发电厂计算机控制系统,火电厂dcs控制系统
  15. 土豆服务器延期修复,Uplay更新失败解决方法 教你对付土豆服务器!
  16. 在网页中加入“加载中提示”的方法
  17. 量化投资分析:定量分析项目和交易分析指标
  18. C++ 开源库,很完整介绍【转】
  19. GNU Radio: 射频子板
  20. 网站排名优化方法_快速排名窍门

热门文章

  1. 自旋锁、互斥锁和信号量
  2. logstash使用中遇到的问题
  3. 18.fields_capabilities_api
  4. 01.elasticsearch请求使用的基本语法
  5. IDEA 2020.3版本中的lombok失效问题
  6. 【2021最新版】如何clean或者install Maven项目——IntelliJ IDEA系列教程
  7. Web前端开发笔记——第二章 HTML语言 第九节 框架标签、脚本标签
  8. 企业日志分析ELK(Logstash+Elasticsearch+Kibana)介绍及搭建
  9. 搜索长度未知的有序数组java_java二分法实现在有序的数组中定位某数在数组中的位置...
  10. dev 命令行参数调用_云开发·云调用生成小程序码