数据结构排序算法(直接插入排序附java代码)

插入排序:
1)直接插入排序:
理解:假设有n个数需要排序,则第一个数已经排序,剩下的n-1个数没有排序,现在需要将剩下的n-1个数,一个一个找到合适的位置插入进去。
【数据结构排序算法(直接插入排序附java代码)】第一趟排序结束:得到已经排序的数字的个数是2,再加上剩下的n-2个数字
例如:待排序序列(49,38,65,97,76,13,27,49),第一趟排序结束(38 49 65 97 76 13 27 49 )
直接插入排序实现java代码如下:

private static void ZSort(int a[]) { // TODO Auto-generated method stub /* * 直接插入排序算法 第一个元素已经排序,剩下n-1个没有排序, 一个一个比较 * 第一轮循环,执行n-1次 * 第二轮循环,当比他大后移,否则break */ for (int i = 1; i < a.length; ++i) { int temp = a[i]; int j = i - 1; for (; j >= 0; j--) {if (temp < a[j]) { a[j + 1] = a[j]; } else { break; } } a[j + 1] = temp; } }public static void main(String[] args) { int a[] = { 49, 38, 65, 97, 76, 13, 27, 49 }; ZSort(a); for (int i : a) { System.out.print(i + " "); } }

(欢迎指正!再更新其他算法)

    推荐阅读