排序算法---插入排序(Insertion Sort)
来源:互联网 发布:p图很萌的软件 编辑:程序博客网 时间:2024/05/16 17:33
查看原文:简书地址
算法基本思想:
插入排序(Insertion Sort)算法通过对未排序的数据执行逐个插入至合适的位置而完成排序工作。
排序流程:
- 首先对数组的前两个数据进行从小到大排序
- 然后将第三个数据与前面排好的数据进行比较,把第三个数插入合适的位置
- 然后将第四个数据插入到前三个数据中
- 重复此步骤,直到最后一个数插入合适的位置为止,到此排序完成
代码实现
import java.util.Arrays;public class InsertionSort { public static void sort(int[] arr) { int len = arr.length; int tmp;//要插入的数据 int istIndex;//插入位置索引 System.out.println("原始顺序: " + Arrays.toString(arr)); for (int i = 1; i < len; i++) { if (arr[i] < arr[i - 1]) { tmp = arr[i]; istIndex = i; while (istIndex > 0 && arr[istIndex-1] > tmp) { //插入位置往前移,寻找合适位置 arr[istIndex] = arr[istIndex - 1]; istIndex--; } arr[istIndex] = tmp; } System.out.println("第" + i + "趟排序:" + Arrays.toString(arr)); } } public static void main(String[] args) { int[] arr = new int[10]; //初始化数组 for (int i = 0; i < 10; i++) { arr[i] = (int) (Math.random() * (100 + 1)); } InsertionSort.sort(arr); }}
阅读全文
1 0
- 算法排序--插入排序(insertion sort)
- 排序算法---插入排序(Insertion Sort)
- 【排序算法】 插入排序 insertion sort(插入类排序)
- 插入排序算法Insertion-Sort
- 经典排序算法:插入排序Insertion sort
- 插入排序(insertion sort)
- 插入排序(insertion sort)
- 插入排序(Insertion Sort)
- 插入排序(Insertion-sort)
- 插入排序(insertion sort)
- 插入排序(insertion sort)
- 插入排序(Insertion Sort)
- 插入排序(INSERTION-SORT)
- Insertion Sort(插入排序)
- Insertion Sort(插入排序)
- 排序算法(一)—插入排序(Insertion sort)
- 插入排序(insertion sort)
- insertion sort 插入排序
- 7.29--SSH学习之使用Maven导jar包
- 驱动中可以使用触发异常的函数
- 【论文】A Minimum Distortion Noise Reduction Algorithm With Multiple Microphones
- 13、在O(1)时间删除链表节点
- 机器学习习题(11)
- 排序算法---插入排序(Insertion Sort)
- 单例模式
- 拓扑排序
- 直线/曲线检测:Randon变换与Hough变换
- 【LeetCode】560.Subarray Sum Equals K解题报告
- HTTP协议状态码详解(HTTP Status Code)
- python 第六周第一题
- 快速幂
- Oracle 安装时提示[INS-13001] 环境不满足最低要求。