博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java学习——排序算法之直接插入排序
阅读量:3942 次
发布时间:2019-05-24

本文共 994 字,大约阅读时间需要 3 分钟。

Java学习——排序算法之直接插入排序

  • 什么是直接插入排序?

直接插入排序的基本原理是:每一步将一个待排序的元素,按照其大小,插入到已经排号序的一组元素当中适当的位置。

  • 请看下面原理的解析:

在这里插入图片描述

  • 代码实现1(for循环+while循环):

import java.util.Arrays;public class Test3 {    /**     * 直接插入排序     */    public static void main(String[] args) {        //定义一个int类型的数组        int[] arr = {5,3,1,8,2};        /*         * 排序         * 外层遍历待比较的所有数组元素         */        for (int i=1; i<=arr.length-1; i++) {            /*             * 定义一个变量,让这个变量从i开始             */            int j = i;            /*             * 如果当前元素比前一个元素小则交换位置             */            while (j>0&&arr[j]
  • 代码实现2(双重for循环):

import java.util.Arrays;public class Test3 {    /**     * 直接插入排序     */    public static void main(String[] args) {        //定义一个int类型的数组        int[] arr = {5,3,1,8,2};        /*         * 排序         * 外层遍历待比较的所有数组元素         */       	for (int i = 1; i <= arr.length-1; i++) {       		//内循环将本轮选择的元素与已经排好序的元素相比较            for (int j = i; j >0; j--) {                //当前元素小于前一个元素时,互换位置                if (arr[j]

转载地址:http://xxiwi.baihongyu.com/

你可能感兴趣的文章
简单而又完整的Makefile
查看>>
GNU/Linux下如何卸载源码安装的软件
查看>>
ffmpeg 常用 命令随手记
查看>>
av_seek_frame中flags值的意义
查看>>
git 学习笔记
查看>>
C++类中的static的用法
查看>>
vector 释放内存 swap
查看>>
在linux下新增一块硬盘的操作。(包含大于2T的硬盘在linux下挂载操作)
查看>>
在32位系统中使用fseek和lseek或fwrite、write写大文件时,最大只能写2G左右的解决办法
查看>>
整理华为C/C++编码规范
查看>>
C语言中嵌入正则表达式
查看>>
libxml2 指南(中文)
查看>>
虚拟机VMware中实现linux与windows的共享
查看>>
undefined reference问题总结
查看>>
souce insight 3.5 修改背景颜色
查看>>
Linux 关闭/开启图形界面(X-window) 命令
查看>>
debug 打印 开关 设计(for c || C++)
查看>>
vmware中虚拟机和主机ping不通的问题。
查看>>
从“冷却时间”谈产品设计
查看>>
常用shell脚本
查看>>