简单插入排序是一种基本的排序算法,
它的思想是
- 将待排序的元素逐个插入到已经有序的数组中,从而得到一个新的有序数组。
它的时间复杂度是O(n^2),空间复杂度是O(1),是一种稳定的排序算法。
简单插入排序的过程如下:
- 从第二个元素开始,依次取出每个元素,与前面已经有序的元素进行比较。
- 如果当前元素小于前面的某个元素,就将当前元素插入到该元素之前,同时将该元素及其后面的所有元素后移一位。
- 如果当前元素大于或等于前面所有的元素,就不需要移动,继续取出下一个元素。
- 重复上述步骤,直到所有的元素都被插入到正确的位置。
简单插入排序的JAVA实现如下:
public class InsertionSort {
public static void sort(int[] arr) {
//从第二个元素开始
for (int i = 1; i < arr.length; i++) {
//取出当前元素
int temp = arr[i];
//记录要插入的位置
int j = i;
//与前面已经有序的元素进行比较
while (j > 0 && temp < arr[j - 1]) {
//如果当前元素小于前面的某个元素,就将该元素后移一位
arr[j] = arr[j - 1];
//更新要插入的位置
j--;
}
//将当前元素插入到正确的位置
arr[j] = temp;
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2018-07-03 java System.arrayCopy使用说明
2018-07-03 list.remove的使用分析