package com.kaige.demo;
/**
* 插入排序(使用场景,7个元素以下的排序)
* */
public class straight_insertion_sort {
public static void InsertSort(int [] arr){
int i,j;//两个Int类型变量
int n=arr.length;//数组长度
int target;//临时值
for(i=1;i<n;i++){
j=i;
target=arr[i];
while(j>0&&target<arr[j-1]){
arr[j]=arr[j-1];//当临时值小于前一位元素值时,换位
j--;
}
arr[j]=target;
}
}
/**
* arr={3,1,6,4};
* 第一次分析:j=i=1;target=arr[1]=1; 满足while条件j>0&&1<3;移位 arr[1]=arr[0] -> 1364
* 第二次分析:j=i=2;target=arr[2]=6;不满足while;可得 1364;
* 第三次分析:j=i=3;target=arr[3]=4; 满足while条件j>0&&4<6;移位 arr[3]=arr[2] -> 1346
* */
public static void main(String[] args) {
int[] arr={3,1,6,4};
InsertSort(arr);
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
分享到:
相关推荐
博客地址:https://blog.csdn.net/qq_30259857/article/details/81071081 冒泡排序,选择排序,插入排序,归并排序,快速排序的 Unity Demo
本文将通过C#语言来诠释几种经典的排序算法,包括插入排序和选择排序,以帮助读者理解它们的基本思想、排序过程以及C#代码实现。 首先,我们来看插入排序。插入排序是一种简单直观的排序算法,其基本思想是通过构建...
Comparator接口用于自定义比较规则,Comparable接口实现对象的自然排序。 再者,Java的IO流系统是处理输入输出的关键。字节流按字节读写,例如FileInputStream和FileOutputStream,操作文件时必须注意关闭流,防止...
看的见的算法 7个经典应用诠释算法精髓(3)-排序算法可视化 04-Sort-Visualization 4-1 选择排序算法可视化..mp4 4-2 为可视化添加更多效果.mp4 4-3 插入排序可视化..mp4 4-4 在近乎有序的数据上测试插入排序算法....
常见的排序算法有冒泡排序、插入排序、选择排序、快速排序、归并排序等。通过可视化,我们可以直观地看到数据在排序过程中的动态变化,这对于学习和优化算法效率至关重要。Java提供了丰富的数据结构和库函数,可以...
【MK网】7款经典游戏 诠释高级算法精髓4-5章 4-1 选择排序算法可视化..mp4 4-2 为可视化添加更多效果.mp4 4-3 插入排序可视化.mp4 4-4 在近乎有序的数据上测试插入排序算法..mp4 4-5 通过归并排序算法深入理解递归....
单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在
精通Java WebSocket应用开发 ...本书诠释了如何设计客户端/服务器应用、与全双工消息通信协作、建立连接、创建端点、处理路径映射以及保护数据。你也将学到如何加密Web传输并且使用Java WebSocket增强既有应用。
全书内容浅显易懂,利用大量且丰富的图示与范例, 详解复杂的抽象理论,从最基本的数据结构概念开始 说明,再以Java工具加以诠释阵列结构、堆栈、链表 、队列、排序、查找等重要的概念,引领读者抓住重 点轻松进入...
总的来说,罗兰西尼通过参加广州建博会,展示了其在门窗行业的专业素养和对意式门窗的独特诠释,展现了品牌的力量和创新精神。无论是产品的设计、定制服务还是品牌战略,罗兰西尼都在不断探索和进步,力求为消费者...
【中央空调系统详解】 中央空调系统是现代建筑中不可或缺的设施,其设计目的是为了提供舒适、高效且节能的室内气候控制。这种系统主要由四个基本部分组成:冷热源系统、空气调整系统、冷却水循环系统以及冷冻水循环...
这款应用的设计理念是对经典的“飞鸽传书”方式进行现代化的计算机技术诠释,使得用户可以通过简单的操作在局域网内的设备之间快速分享文件。 首先,我们要理解Java在局域网通信中的应用。Java提供了丰富的网络编程...
word第1题的(10)插入脚注,对脚注进行完美的诠释
尽管可能不如商业级游戏那样完美,但它体现了编程的乐趣和挑战性,同时也是对经典游戏的一种独特诠释。对于学习者来说,这是一个很好的参考案例,可以帮助他们深入理解Java编程和游戏开发的基本原理。
23种设计模式有趣诠释 23种设计模式有趣诠释 23种设计模式有趣诠释
快速排序c++的实现有解释附录,同时还对起的编写思路进行了诠释。
用java语言实现有限状态机,这个简单地实例能全面地诠释状态机的思想
Java 语言作为一款广泛应用于软件开发的编程语言,其特性主要体现在以下几个方面: 1) **简单性**:Java 语言的语法设计借鉴了C和C++,但它剔除了C++中的一些复杂特性,如指针操作和多继承,同时引入了自动垃圾回收...
本书以极其精练的语句诠释了HotSpot VM 的方方面面,比如:字节码的编译原理、字节码的内部组成结构、通过源码的方式剖析HotSpot VM 的启动过程和初始化过程、Java 虚拟机的运行时内存、垃圾收集算法、垃圾收集器...
《Java虚拟机精讲》以极其精练的语句诠释了HotSpot VM 的方方面面,比如:字节码的编译原理、字节码的内部组成结构、通过源码的方式剖析HotSpot VM 的启动过程和初始化过程、Java 虚拟机的运行时内存、垃圾收集算法...