`
liu0107613
  • 浏览: 75424 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

InsertImpl

    博客分类:
  • java
J# 
阅读更多

package com.liuxt.sort.impl;

import com.liuxt.sort.Sort;

public class InsertImpl implements Sort {

 /**
  * 将data中的每一个元素插入到前面已经排好序的数组中。
  * 
  * @param data
  */
 public void sortData(int[] data) {
       //对顺序表的记录data[1..n]按递增序进行插入排序
   int i,j=0,r;
   int n=data.length;
   for(i=1;i<n;i++){
   if(data[i]<data[i-1]){
   r=data[i]; //记录当前i的值,i从第二值开始
   j=i-1;//i值前面已经排好序的数组的最后一个索引
   do{
     data[j+1]=data[j]; //data[j]向后移动
     j--;
   }while(j>=0 && r<data[j]);
            data[j+1]=r; //将r的值放在j+1的索引处。因为此时r>=data[j]   
   }//end if
   }
 }

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics