插入排序(InsertionSort )Java版
2021/4/10 22:15:01
本文主要是介绍插入排序(InsertionSort )Java版,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
插入排序: 将数据逐个采用插入的方式进行排序,这是一种简单直观稳定的排序算法 插入排序原理 采用链表 从第一个元素开始,该链表可以被认为已经部分排序),每次迭代时,从输入数据中移除一个元素,并原地将其插入到已排好序的链表中。 插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。 重复直到所有输入数据插入完为止。 采用数组 1.把所有的元素分为两组,已经排序的和未排序的组; 2.找到未排序的组中的第一个元素,向已经排序的组中进行插入; 3.倒叙遍历已经排序的元素,依次和待插入的元素进行比较,直到找到一个元素小于等于待插入元素,那么就把待插入元素放到这个位置,其他的元素向后移动一位; 插入排序时间复杂度:n^2 插入排序实现步骤 //代码实现 import java.util.Arrays; public class InsertionSort{ public static void main(String[] args) { //创建数组 Integer[] arr = {2, 5, 10, 1, 3, 7, 4, 6, 9, 8,1}; int temp; for (int i = 1; i < arr.length; i++) { //当前元素为arr[i],依次和i前面的元素比较,找到小于等于arr[i]的元素 for (int j = i; j > 0; j--) { if (arr[j - 1] > =arr[j]) { //数据交换 temp = arr[j]; arr[j] = arr[j - 1]; arr[j - 1] = temp; } else { //结束 break; } } } System.out.println(Arrays.toString(arr)); } }
这篇关于插入排序(InsertionSort )Java版的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22项目:远程温湿度检测系统
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南