您当前的位置: 首页 >  Java
  • 4浏览

    0关注

    674博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

java实现直接插入排序

沙漠一只雕得儿得儿 发布时间:2016-09-17 13:52:42 ,浏览量:4

package 排序算法;

public class 直接插入排序 {
	public static void main(String[] args) {
		int[] arr = { 213213, 23, 12334, 5, 235 };
		sort(arr);
	}

	private static void sort(int[] arr) {
		/**
		 * 外层循环从数组中选出一个将要插入到有序数组的的数,
		 * 内层循环是遍历已经排好序的数组,将arr[i]插入到合适的位置中,其中arr[i]依次与排好序的前arr[i-1]个数字比较
		 * 比arr[i]大的依次后移。
		 */
		for (int i = 1; i < arr.length; i++) {// 依次挑选从第二个数字开始的无序数组,作为待插入的数字
			int temp = arr[i];// temp为带插入的数
			int j;
			for (j = i - 1; j >= 0 && temp < arr[j]; j--) {// 带插入的数字依次与待插入数字之前的排好序的数字比较,比带插入数字大的依次后移
				arr[j + 1] = arr[j];
			}
			arr[j + 1] = temp;// 直到遇到比带插入数字大的位置跳出循环,并在该位置插入带插入的数字
		}

		for (int k = 0; k < arr.length; k++) {
			System.out.print(arr[k] + " ");
		}
	}
}
关注
打赏
1657159701
查看更多评论
立即登录/注册

微信扫码登录

0.0757s