插入排序(Java实现)】的更多相关文章

插入排序过程: 在初始状态下,第一个元素是排序的,在最终状态下,作为一组数据时排序的. 代码如下;eclipse4.3实现 package sort.basic; import java.util.Arrays; public class insertSort { private static Integer[] nums={34,78,90,45,3432,343,43,545,464,57,23,1323}; public static <AnyType extends Comparable…
排序-插入排序 基本思想:将待排序表看作左右两部分,其中左边为有序区,右边为无序区, 整个排序过程就是将右边无序区中的元素逐个插入到左边的有序区中,以构成新的有序区. 平均时间:O(n2) 最好情况:O(n2) 最坏情况:O(n2) 辅助空间:O(1) 稳定性:不稳定 适用场景:n比较小时 java实现: public static void insertSort(int[] list) { for (int i = 1; i < list.length; i++) { int temp = l…
package dataStructureAlgorithmReview.day01; import java.util.Arrays; /** * 插入排序 * @author shundong * */ public class Code_01_InsertionSort { //bigO(N^2)的时间复杂度 public static void insertionSort(int[] arr) { if (arr == null || arr.length < 2) { return;…
排序算法之直接插入排序 舞蹈演示排序: 冒泡排序: http://t.cn/hrf58M 希尔排序:http://t.cn/hrosvb  选择排序:http://t.cn/hros6e  插入排序:http://t.cn/hros0W  快速排序:http://t.cn/ScTA1d  归并排序:http://t.cn/Sc1cGZ 一.直接插入排序的过程 1.直接插入排序由 N-1 趟排序组成.2.基本思想:将第一个元素看成一个有序子序列,再依次从第二个记录起诸葛插入到这个有序的子序列中.…
/** * 插入排序 * * 原理:从数组中取出一个值插入到一个左边已经排好序的数组片段中 * * @param a * @return */ public long[] InsertSort(long[] a){ int in ; int out; for(out = 1 ; out < a.length ; out++){ long temp = a[out]; in = out; /*将temp插入到已经排好序的数组片段中*/ // 循环左移 while(in > 0 &&…
插入排序简述 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的.个数加一的有序数据.   第一个元素是有序队列,从第二个元素开始向有序队列中插入,插入完成后将第三个元素向有序队列中插入,依次进行,直到将最后一个元素插入完毕. 在将元素插入到有序队列中,要将这个元素与有序队列的元素依次比较,如果小于有序队列的某个元素,将其插入到该元素的前面,否则不做操作.依次比较完毕,没有比其大的,就将其放在有序队列的末尾. 图例介绍: 代码: 插入排序类 package com.d…
思路:遍历无序的原数组,把第i个的后一个即i+1去与前面的i个逐个比较... 解法一: package com.sheepmu.text; import java.util.Arrays; /* * @author sheepmu */ public class Sort { public static void main(String[] args){ int[] arr={64,5,7,89,6,24}; insertSort(arr); System.out.println(Arrays.…
直接插入排序 public class InsertionSort { public static <T extends Comparable<? super T>> void sort(T[] arr) { for (int i = 1, len = arr.length; i < len; i++) { T cur = arr[i]; int j = i - 1; for (; j >= 0 && cur.compareTo(arr[j]) <…
public class InsertDemo { public static void main(String args[]) { int[] sort ={4,2,1,3,6,5,9,8,10,7} ; System.out.println("haha"+sort[0]); System.out.println("排序前:"); print(sort); shellSort(sort); System.out.println("\n排序后:"…
一.排序思想 从数组第一个元素开始(0下标),该元素可以认为已经被排序: 取出待排序列中第一个元素,然后从“有序”序列中,从后往前扫描: 如果该元素(有序序列)大于待插入元素(待排序列),将该元素后移一个位置: 重复步骤3,直到找到“有序序列”中某一元素小于或等于“待插入元素”的位置: 将待插入元素插入到该元素(有序序列)后面(i+1)的位置上; 重复步骤2~5,直到待排序列中没有元素. 二.图解 三.代码实现 public class InsertSort { public static vo…