组团学

排序方式-插入排序

阅读 (661135)

1、插入排序

插入排序(Insertion sort)是一种简单直观且稳定的排序算法。插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,是稳定的排序方法。

插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。在第一部分排序完成后,再将这个最后元素插入到已排好序的第一部分中。

分析:

image20191211102428523.png

案例:

public class InsertionSortDemo{ public static void main(String args[]){ int arr[]={12,32,132,13,321,16,3213}; insertionSort(arr); } public static void insertionSort(int arr[]){ int i=1;//下标从1开始,把前面的0当作一个数组 while(i<arr.length){ int k=arr[i];//要插入的值 int j=i; //下标 while(j>0&&k<arr[j-1]){ arr[j]=arr[j-1]; //满足条件的数,右移 j--; } arr[j]=k;//插入数据到指定位置 i++; } printArray(arr); } public static void printArray(int[] arr){ for(int i=0;i<arr.length;i++){ System.out.print(arr[i]+" "); } } }

运行结果:

image20191206183607436.png

需要 登录 才可以提问哦