java底功不强,看了书 ,查了网上的资料自己才写了个插入排序。
package com.yangtao.file;
public class InsertSort {
/**
* @param args
*/
public static void main(String[] args) {
InsertSort insertSort = new InsertSort();
int[] a = new int[]{5,2,7,1,6,9};
int[] b = insertSort.sort(a);
for(int i = 0; i < b.length; i++){
System.out.println(b[i]);
}
}
/**
* @param n 将要排序的数组
* @return 排好序后的数组
*/
public int[] sort(int[] n){
//从数组下标为1的数组开始。
for(int j = 1; j < n.length; j++){
//取到第J个元素的值。
int key = n[j];
int i = j - 1;//用i表示排序前的一个下标
//如果前面还有数据 而且前面一个数大于后面一个数,我们交换位置。
while(i >= 0 && n[i] > key){
n[i + 1] = n[i];
i--;
}
n[i + 1] = key;
}
return n;
}
}