共计 673 个字符,预计需要花费 2 分钟才能阅读完成。
1、插入排序
插入排序(Insertion sort)是一种简单直观且稳定的排序算法。插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,是稳定的排序方法。
插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。在第一部分排序完成后,再将这个最后元素插入到已排好序的第一部分中。
分析:
案例:
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]+" ");
}
}
}
运行结果:
正文完
星哥玩云-微信公众号