当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

插入排序

发表于: 2012-04-28   作者:dongwei_6688   来源:转载   浏览次数:
摘要:   网上有一个插入排序算法的视频 ( http://v.youku.com/v_show/id_XMjU4NTY5MzEy.html ),非常生动,于是就模拟该视频,写了下面的代码:   import java.util.Arrays; public class InsertSort { public static void main(String[] args

 

网上有一个插入排序算法的视频 ( http://v.youku.com/v_show/id_XMjU4NTY5MzEy.html ),非常生动,于是就模拟该视频,写了下面的代码:

 

import java.util.Arrays;

public class InsertSort {
	public static void main(String[] args) {
		int[] datas = new int[] { 3, 0, 1, 8, 7, 2, 5, 4, 9, 6 };
		System.out.println("Before-->" + Arrays.toString(datas));
		for (int i = 0; i < datas.length - 1; i++) {
			if (datas[i] > datas[i + 1]) {
				transposition(datas, i, i + 1);
				for (int j = i; j > 1; j--) {
					if (datas[j] < datas[j - 1]) {
						transposition(datas, j, j - 1);
					}
				}
			}
		}
		System.out.println("After-->" + Arrays.toString(datas));
	}

	public static void transposition(int[] datas, int indexA, int indexB) {
		System.out.println("transposition " + datas[indexA] + " and " + datas[indexB]);
		int temp = datas[indexA];
		datas[indexA] = datas[indexB];
		datas[indexB] = temp;
	}
}
 
输出结果如下:
Before-->[3, 0, 1, 8, 7, 2, 5, 4, 9, 6]
transposition 3 and 0
transposition 3 and 1
transposition 8 and 7
transposition 8 and 2
transposition 2 and 7
transposition 2 and 3
transposition 8 and 5
transposition 5 and 7
transposition 8 and 4
transposition 4 and 7
transposition 4 and 5
transposition 9 and 6
transposition 6 and 8
transposition 6 and 7
After-->[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

插入排序

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。
插入排序: 包括:直接插入排序,二分插入排序(又称折半插入排序),链表插入排序,希尔排序(又称
. package sortAlgorithem; import java.util.Arrays; /** * 参考:http://v.youku.com/v_show/id_XM
插入排序的思想: 插入排序算法与我们打牌时,排列牌的顺序差不多。在我们摸牌时,我们一次一张牌的
插入排序 Insertion Sort 插入排序的基本思想是,经过i-1遍处理后,L[1..i-1]己排好序。第i遍处理仅
基本思想 经典排序算法 – 插入排序Insertion sort 插入排序就是每一步都将一个待排数据按其大小插
有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍
C语言简单的插入算法: 插入排序的基本思想: 经过i-1遍处理后,a1,a2,…,ai-1己排好序。 第i遍
只有比别人更早、更勤奋地努力,才能尝到成功的滋味。 ------麦克马斯特大学训言 http://bbs.itheim
算法思想 1、从第一个元素开始,改元素可以认为已经被排序 2、取出第一个未排序的元素存放在临时变
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号