您的位置:首页 > 编程语言 > Java开发

Java -- 算法小结之插入排序

2015-06-25 22:26 288 查看

插入排序

插入排序的逻辑比较简单,就是将一个数据插入到已有的一个有序的数组中,使新的数组依然有序。

需要注意的是需要再有序的数组中找到合适的插入位置以及保证新的数组依然有序。

下面是我用java实现的排序,代码已经上传到我的Github

public class InsertSort {
/**
* 交换数组里面的2个元素
* @param list
* @param a
* @param b
*/
public static void swap(int[] list , int a , int b) {
int temp = list[a];
list[a] = list[b];
list[b] = temp;
}

/**
* 将列表下标为n个元素插入到前n个元素之间,使得list前n+1个元素是有序的
* @param list
* @param n
*/
public static void insertNum(int[] list , int n ) {
for( int i = n-1 ; i >= 0 ; i--  ) {
if( list
< list[i] ) {
swap(list,n,i);
n = i;
}
}
}

public static void main(String[] args) {
int[] test = {23,44,2,3,11,46,38,5,9,88,5,22};
for( int i = 0 ; i < test.length ; i++ ) {
insertNum(test, i);
System.out.println(Arrays.toString(test));
}
}
}


若有错误,还请指正。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  插入排序