用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

插入排序- 基于有序列表的实现

2013-07-31 作者: 中国人在美国举报

[java]代码库

/**
插入排序是这样实现的:
首先新建一个空列表,用于保存已排序的有序数列(我们称之为"有序列表")。
从原数列中取出一个数,将其插入"有序列表"中,使其仍旧保持有序状态。
重复2号步骤,直至原数列为空。
*/
 
public class TestInsertionSort {
    public static void main(String[] args) {
        int[] arr = {3,4,9,7,1,2};
        System.out.println("The unsorted order arrays is : "+Arrays.toString(arr));
        System.out.println("The sorted order arrays is : "+Arrays.toString(InsertionSortImpl.insertionSort(arr))); 
    }
}
 
public class InsertionSortImpl {
    public static int[] insertionSort(int[] intArray) {
        int len = intArray.length;
        int[] newArray = new int[len];
        int positon = -1;
 
        for (int i = 0; i < len; i++) {
            for (int j = 0; j < i; j++) {
                if (intArray[i] < newArray[j]) {
                    for (int k = i; k > j; k--) {
                        newArray[k] = newArray[k - 1];
                    }
                    positon = j;
                    break;
                }
 
            }
            if (positon == -1) {
                newArray[i] = intArray[i];
            } else {
                newArray[positon] = intArray[i];
                positon = -1;
            }
        }
        return newArray;
    }
}
 
/**运行结果:
The unsorted order arrays is : [3, 4, 9, 7, 1, 2]
The sorted order arrays is : [1, 2, 3, 4, 7, 9]
**/


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...