常见排序算法——2、插入排序
2019-09-24 18:27
54 查看
插入排序
时间复杂度为: O(n^2)
原理: 将数组分为两部分,将后部分元素逐一插入前部分有序元素的适当位置
思路: 插入排序的基本思想就是将无序序列插入到有序序列中,每次从待插入组中取出一个元素,与有序组的元素进行比较,并找到合适的位置,将该元素插到有序组当中。就这样,每次插入一个元素,有序组增加,待插入组减少。直到待插入组元素个数为0。
插入排序算法仍然需要O(N^2)的时间,但是在一般情况下,它要比冒泡排序快一倍,比选择排序还要快一点。
代码实现:
public class 插入排序 { public static void main(String[] args) { // TODO Auto-generated method stub int array[] = {9,1,5,3,7,8,2,6,4}; chaRu(array); } public static void chaRu(int array[]) { int temp; System.out.println("插入排序:"); for(int i=1;i<array.length;i++) { int j=i; temp = array[i]; while( j>0 && temp < array[j-1]) { array[j] = array[j-1]; j--; } array[j] = temp; System.out.print("第"+i+"次:"); for(int k=0;k<array.length;k++) { System.out.print(array[k]+" "); } System.out.println(); } } }
相关文章推荐
- 常见排序算法总结——2、插入排序
- 常见排序算法:插入排序 <整理>
- 常见的五类排序算法图解和实现(插入类:直接插入排序,折半插入排序,希尔排序)
- 常见排序算法整理(一)----冒泡排序、直接插入排序
- java常见排序算法--顺序排序、冒泡排序、插入排序分析与比较
- 常见的排序算法(Java实现):冒泡、插入、选择、快速排序
- 常见算法之排序算法二【插入排序】
- 常见排序算法导读(4)[直接插入排序]
- 排序并插入/常见的排序算法
- 几种常见的排序算法---插入排序
- 常见的排序算法--冒泡排序--选择排序--二分排序--插入排序--归并排序--快速排序
- 常见的五类排序算法图解和实现(选择类:简单选择排序,锦标赛排序,树形选择排序,堆排序)
- 基础排序算法(三)——对半插入排序
- 常见的几种排序算法-插入、选择、冒泡、快排、堆排等
- 排序算法--直接插入排序
- C++实现常用排序算法(快速排序、冒泡排序、希尔排序、折半插入排序、直接插入排序)
- 排序算法之插入排序1—直接插入排序
- 排序算法之直接插入排序
- 排序算法总结3-插入排序
- 8)排序③排序算法之插入排序[1]直接插入排序