算法策略:按顺序读入数组内的元素,从后往前的与已有元素比较大小,插入到前一位比自己小并且后一位比自己小的位置。

数据结构:常量、变量和数组;

控制结构:顺序结构、有界循环结构和条件循环结构。

算法流程图

程序设计代码

public class Sort {public static void main(String[] args) {
// TODO Auto-generated method stub
//建立一个数组int[] array = {10,12,58,61,16,15,25,36,37,38,48,59,68,69,78,1};
//建立一重循环,可以从头到尾去遍历每一个元素for (int i = 1; i < array.length;i++){
//将当前的元素的值赋值给key,记录当地元素的值,以便与前边的元素进行比较大小int key = array[i];
//定义当前元素下标的前一位元素的下标int j = i - 1;
//建立循环,比较当前元素与前边元素的值while(j>=0 && array[j]>key){
//因为当前元素比前一位元素小,所以把前边一位元素的值赋予后边一位,即是将该元素的位置后移一位array[j+1] = array[j];
//将下标数字减一,以便比较当前元素和前边两位的大小j--;}
//当前元素比前边元素大,跳出循环,将当前元素的值赋值给该位置的元素,即是将该元素安插在当前位置array[j+1] = key;}
//遍历数组,输出数组各元素for(int i = 0;i<array.length;i++){System.out.print(array[i] + " ");}}}

Java学习--排序算法之插入法排序相关推荐

  1. Java常见排序算法之Shell排序

    在学习算法的过程中,我们难免会接触很多和排序相关的算法.总而言之,对于任何编程人员来说,基本的排序算法是必须要掌握的. 从今天开始,我们将要进行基本的排序算法的讲解.Are you ready?Let ...

  2. java arrays.sort() c_5.4 (Java学习笔记)集合的排序(Collections.sort(),及Arrays.sort())...

    1.Comparable接口 这个接口顾名思义就是用于排序的,如果要对某些对象进行排序,那么该对象所在的类必须实现 Comparabld接口.Comparable接口只有一个方法CompareTo() ...

  3. java排序算法 sort_Java排序算法之SleepSort排序示例

    本文实例讲述了Java排序算法之SleepSort排序.分享给大家供大家参考,具体如下: 分享一个很有创意的排序算法:sleepSort .巧妙利用了线程的sleep(),代码如下: public c ...

  4. Java经典排序算法:选择排序,动图演示排序过程

    Java经典排序算法:选择排序,动图演示排序过程 示意动图: public class Main {public static void main(String[] args) {new Main() ...

  5. JAVA排序算法之希尔排序

    基本介绍 希尔排序是希尔(Donald Shell)于 1959 年提出的一种排序算法.希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序. 希尔排序法基本思 ...

  6. 排序算法之希尔排序(Java实现)

    希尔排序介绍 希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法.希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序. 希尔排序基本思想 ...

  7. 排序---初级排序算法(选择排序、插入排序和希尔排序)

    写在前面的话: 一枚自学Java和算法的工科妹子. 算法学习书目:算法(第四版) Robert Sedgewick 算法视频教程:Coursera  Algorithms Part1&2 本文 ...

  8. 排序算法:桶排序、计数排序、基数排序

    相关博客: 排序算法:冒泡排序.插入排序.选择排序.希尔排序 排序算法:归并排序.快速排序 排序算法:桶排序.计数排序.基数排序 排序算法:堆排序 十大排序算法小结 这篇博客将主要介绍三种时间复杂度是 ...

  9. c++ 二维数组 排序_【算法】排序算法之计数排序

    前几回,我们已经对[算法]排序算法之冒泡排序.[算法]排序算法之插入排序.[算法]排序算法之希尔排序.[算法]排序算法之选择排序.[算法]排序算法之快速排序.[算法]排序算法之归并排序.[算法]排序算 ...

最新文章

  1. PLSQL 的 for循环的小例子
  2. 高中数学?_JAVA
  3. Winform中实现自定义水晶按钮控件(附代码下载)
  4. 小米路由器 梅林_WIFI6真的有用吗?小米ALOT路由器AX3600上手体验!小米智能家居生态之选及选购分析...
  5. WPF调用OCX控件
  6. UIPickerView的使用
  7. HFSS天线设计过程学习笔记
  8. 计算机office的好处,office2007精简版有什么优点?精简版优点介绍
  9. Firefox版哔哩哔哩助手,修改自chrome1.2.1版
  10. 免费的安全删除软件 SDelete v1.51
  11. 搭建web服务器asp网站传马
  12. python爬取电影信息并插入至MySQL数据库
  13. Linux中根据文件大小排序
  14. amp; AMP; 会显示位 | Amp;aMp;amP;会原样显示
  15. 资产负债表和利润表的编制公式
  16. 走出浮躁的泥沼:浮躁的社会原因
  17. php.bak是什么,bak文件是什么
  18. 如何将string的日期转换为date的通用方法,包含正则表达处理(一)
  19. 流体力学—定义与连续性介质模型
  20. 40亿美元!张一鸣拿下字节版王者荣耀,过渡期给员工发奖金

热门文章

  1. 【matlab】自定义颜色和线形绘图
  2. 债券价格和到期收益率的关系_债券价格、到期收益率与票面利率之间的关系是什么?...
  3. stm32f103电子钟心得体会_stm32f103时钟树讲解
  4. vue table自定义样式
  5. 2020年“信创”火了!一文看懂什么是信创
  6. delta和gamma中性_Delta中性
  7. WebView深究之Android是如何实现webview初始化的
  8. Java练习题十四期:不要二
  9. POI 导入带公式的EXCEL 精度出问题
  10. 电脑上PDF文档怎么做笔记?