排序算法FIVE:插入排序InsertSort
 /**
   *插入排序思路:O(n^2)
 *    最外层一个循环,从第二个数到最后一个,变量为i
 *        每个数存储在key变量中
 *        变量j,是左边已经排好序的数组的上限
 *        判断key与前面每一个数比较      1,3,5,2,4,6,8,5,9,10
 *                            《-------
 *            如果key小于前一个并且已经排好序的数组没有越界
 *            调换两个数
 *        j向左移
 *
 *        把key放在指定位置  j+1
 *
 */
 public  class  InsertSort
 {
      public static  void insertSort(int[] resouceArr)
      {
          for(int i = 1 ; i <  resouceArr.length ; i++ )
          {
              int key = resouceArr[i] ;
              int j = i - 1 ; 
              while( j > 0 && resouceArr[j] > key)
              {
                  resouceArr[j+1] = resouceArr[j] ;
                  j = j - 1 ;
              }
              resouceArr[j+1] = key ;
          }
      }
 }
排序算法FIVE:插入排序InsertSort的更多相关文章
- 算法分析中最常用的几种排序算法(插入排序、希尔排序、冒泡排序、选择排序、快速排序,归并排序)C 语言版
		每次开始动手写算法,都是先把插入排序,冒泡排序写一遍,十次有九次是重复的,所以这次下定决心,将所有常规的排序算法写了一遍,以便日后熟悉. 以下代码总用一个main函数和一个自定义的CommonFunc ... 
- 我的Java开发学习之旅------>Java经典排序算法之插入排序
		一.算法原理 插入排序法:所谓插入排序法乃是将一个数目插入该占据的位置. 假设我们输入的是 "53,27,36,15,69, 42" 我们从第二个数字开始,这个数字是27,我们的 ... 
- 常见排序算法总结:插入排序,希尔排序,冒泡排序,快速排序,简单选择排序以及java实现
		今天来总结一下常用的内部排序算法.内部排序算法们需要掌握的知识点大概有:算法的原理,算法的编码实现,算法的时空复杂度的计算和记忆,何时出现最差时间复杂度,以及是否稳定,何时不稳定. 首先来总结下常用内 ... 
- 算法相关——Java排序算法之插入排序(四)
		0. 前言 本系列文章将介绍一些常用的排序算法.排序是一个非常常见的应用场景,也是开发岗位面试必问的一道面试题,有人说,如果一个企业招聘开发人员的题目中没有排序算法题,那说明这个企业不是一个" ... 
- java 合并排序算法、冒泡排序算法、选择排序算法、插入排序算法、快速排序算法的描述
		算法是在有限步骤内求解某一问题所使用的一组定义明确的规则.通俗点说,就是计算机解题的过程.在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法.前者是推理实现的算法,后者是操作实现的算法. ... 
- C数据结构排序算法——直接插入排序法用法总结(转http://blog.csdn.net/lg1259156776/)
		声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 排序相关的的基本概念 排序:将一组杂乱无章的数据按一定的规律顺次排列起来. 数据表( data list): ... 
- Java排序算法之插入排序
		基本过程: 每次将待排元素和已经排序好的序列进行比较,按照大小顺序插入进去,重新构造一个新的有序序列. 插入排序算法有种递归的思想在里面,它由N-1趟排序组成.初始时,只考虑数组下标0处的元素,只有一 ... 
- 数据结构与算法之PHP排序算法(插入排序)
		一.基本思想 插入排序算法是每一步将一个待排序的数据插入到前面已经排好序的有序序列中,直到所有元素插入完毕为止. 二.算法过程 1)将第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未 ... 
- 【DS】排序算法之插入排序(Insertion Sort)
		一.算法思想 一般来说,插入排序都采用in-place在数组上实现.具体算法描述如下:1)从第一个元素开始,该元素可以认为已经被排序2)取出下一个元素,在已经排序的元素序列中从后向前扫描3)如果该元素 ... 
随机推荐
- iOS 改变tableview cell的背景色
			cell.selectedBackgroundView = [[UIView alloc] initWithFrame:cell.frame]; cell.selectedBackgroundView ... 
- Windows Phone开发-开发环境和结构
			Windows Phone 7.1的开发工具发布了,一直对WP7很关注,现在终于可以开始学习了.其实09年就学习过silverlight,看过3的SDK文档,当时因为工作,断断续续也没有坚持下来,所以 ... 
- Centos6 源代码部署MySQL5.6
			mysql从5.5版本号開始,不再使用./configure编译,而是使用cmake编译器,详细的cmake编译參数能够參考mysql官网文档(※ 很重要) http://dev.mysql.com/ ... 
- select poll使用
			select poll使用 2.1. 怎样管理多个连接?“我想同一时候监控一个以上的文件描写叙述符(fd)/连接(connection)/流(stream),应该怎么办?” 使用 select ... 
- java_TreeSet 定制排序实例
			package ming; import java.util.Comparator; import java.util.TreeSet; class M { int age; public M(int ... 
- iOS 符号表恢复 & 逆向支付宝
			推荐序 本文介绍了恢复符号表的技巧,并且利用该技巧实现了在 Xcode 中对目标程序下符号断点调试,该技巧可以显著地减少逆向分析时间.在文章的最后,作者以支付宝为例,展示出通过在 UIAlertVie ... 
- 检测 NSObject 对象持有的强指针
			在上一篇文章中介绍了 FBRetainCycleDetector 的基本工作原理,这一篇文章中我们开始分析它是如何从每一个对象中获得它持有的强指针的. 如果没有看第一篇文章这里还是最好看一下,了解一下 ... 
- 正则表达式 之 C#后台应用
			正则表达式在.Net就是用字符串表示,这个字符串格式比较特殊,无论多么特殊,在C#语言看来都是普通的字符串,具体什么含义由Regex类内部进行语法分析. Regex 类 存在于 System.Text ... 
- next nextval
			1 KMP算法中next与nextval值的计算 以上两张图代表了next值的求法,本人总结后做如下叙述: 根据公式可知: next[1]=0 next[2]=1 next[3]的求法根据公式可以直接 ... 
- centos安装crontab:
			# yum install vixie-cron # yum install crontabs /sbin/service crond start //启动服务/sbin/service crond ... 
