博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
插入排序
阅读量:6242 次
发布时间:2019-06-22

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

有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法—— ,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序, 为O(n^2)。是稳定的排序方法。插入算法把要排序的 分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。在第一部分排序完成后,再将这个最后元素插入到已排好序的第一部分中。
 
插入排序的基本思想是:每步将一个待排序的记录,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止。
 
以下是一个简单数组插入排序示例:(从上往下,从左往右)
以下是插入排序代码:
package base_algorithm;public class Code2_InsertSort {        public static void insertSort(int[] arr) {        if(arr == null || arr.length < 2) {            return;        }        for(int i = 1; i < arr.length ; i++) {            for(int j = i - 1; j >= 0 && arr[j] > arr[j + 1]; j--) {                swap(arr, j, j + 1);            }        }    }    public static void swap(int[] arr, int i, int j) {        arr[i] = arr[i] ^ arr[j];        arr[j] = arr[i] ^ arr[j];        arr[i] = arr[i] ^ arr[j];    }}

 

转载于:https://www.cnblogs.com/pipipi/p/9420663.html

你可能感兴趣的文章
SGU 275 To xor or not to xor
查看>>
Sharepoint学习笔记—ECMAScript对象模型系列-- 6、使用ECMA操作列表项对象(list item)...
查看>>
【转载】常用统计软件下载地址大全
查看>>
新的思想来源
查看>>
对于超大型SQL SERVER数据库执行DBCC操作
查看>>
Binary Tree Level Order Traversal II
查看>>
Python 点滴 I
查看>>
Java泛型详解
查看>>
分治算法思想介绍
查看>>
1 张图秒懂 Nova 16 种操作 - 每天5分钟玩转 OpenStack(44)
查看>>
MVP模式在Android项目中的使用
查看>>
一起同过窗
查看>>
XMLHttpRequest详解
查看>>
9 数字载波传输1
查看>>
iOS开发之功能模块--高仿Boss直聘的IM界面交互功能
查看>>
Flume Source 实例
查看>>
MySQL 缓存表建触发器
查看>>
.NetCore~C#6的一些新特性
查看>>
Recurrent Neural Networks(RNN) 循环神经网络初探
查看>>
多线程中数的原子性加减
查看>>