java简单插入排序实例
2017-08-11 08:57
197 查看
一、基本概念
插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。在第一部分排序完成后,再将这个最后元素插入到已排好序的第一部分中。
二、java代码实现
public class InsertSort { public static void inserSort(int[] array){ if (array==null||array.length<2){ return; } for (int i=1;i<array.length;i++){ //默认第一个元素为有序队列,从第二个元素开始循环插入 int position=array[i]; //设置第二个元素为要插入的数据 int j=i-1; while (j>=0&&position<array[j]){ array[j+1]=array[j]; //如果插入发数小于第j个元素,将第j个数向后移 j--; } array[j+1]=position; //插入 } } public static void main(String ags[]){ int[] array={2,6,4,7,3,-1}; inserSort(array); for (int i=0;i<array.length;i++){ System.out.print(array[i]+" "); } } }
三、性能分析
稳定
空间复杂度O(1)
时间复杂度O(n2)
最差情况:反序,需要移动n*(n-1)/2个元素
最好情况:正序,不需要移动元素
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- java实现七种排序 (插入排序, 希尔排序, 插入排序, 快速排序, 简单选择排序, 堆排序, 归并排序)
- Java中实现简单的三大排序——冒泡、选择、插入
- 排序算法之简单插入法排序(Java)
- 冒泡排序,简单插入排序,快速排序,二分查找的JAVA实现
- 冒泡,简单选择,直接插入排序(Java版)
- 冒泡,简单选择,直接插入排序(Java版)
- Java实现插入排序实例
- Java实现简单插入排序
- java插入排序 Insert sort实例
- java冒泡、简单插入、选择排序
- Java实例8 - 插入排序 Insertion Sort
- java简单实现双色球彩票模拟实例(数组、排序、方法、随机数、键盘输入)
- 简单插入排序(Insertion Sort)——插入类排序法(Java实现)
- java简单插入排序
- 排序算法---(3)简单插入排序---Java实现
- java实现三种简单排序以及改良:冒泡排序,选择排序,直接插入排序
- Java实例8 - 插入排序 Insertion Sort
- java简单选择排序实例
- Java数据结构及算法实例:插入排序 Insertion Sort
- java通过Comparable接口实现字符串比较大小排序的简单实例