本文介绍了排序算法的 Java 代码实现,所有代码均可通过 菜鸟工具在线编译器 直接运行,因此打算整理一下分享给大家。
简介插入排序:插入即表示将一个新的数据插入到一个有序数组中,并继续保持有序。例如有一个长度为N的无序数组,进行N-1次的插入即能完成排序;第一次,数组第1个数认为是有序的数组,将数组第二个元素插入仅有1个有序的数组中;第二次,数组前两个元素组成有序的数组,将数组第三个元素插入由两个元素构成的有序数组中…第N-1次,数组前N-1个元素组成有序的数组,将数组的第N个元素插入由N-1个元素构成的有序数组中,则完成了整个插入排序。
理解有五个无序数据为例: 3,1,5,4,2
-
第一次排序,1比3小,则1和3换位置,变为了1,3,5,4,2
-
第二次排序,5比3大,不需要调整,仍未1,3,5,4,2
-
第三次排序,4比5小,则4和5 换位置,此时4比3大,则不再继续调整,此时变为了1,3,4,5,2
-
第四次排序,2比5小,2和5换位置,2又比4小,2继续和4换位置,2仍然比3小,继续和3换位置,最后2比1大,不再调整。最终,变成了1,2,3,4,5.
数据变成了有序。
实例1. Java 代码
public class Main {
public static void main(String[] args) {
int[] sorts = {3,2,1,4,6,5,8,7,10,9};
System.out.println("排序前:");
print(sorts);
insertSort(sorts);
System.out.println("\n排序后:");
print(sorts);
}
public static void insertSort(int[] arrs) {
for (int i = 0;i = 0 && arrs[j] > temp;j--) {
arrs[j+1] = arrs[j];
}
arrs[j+1] = temp;
}
}
public static void print(int[] arrs) {
for(int i = 0;i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?