用户注册



邮箱:

密码:

用户登录


邮箱:

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

发表随想


还能输入: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、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

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

加载中,请稍后...