数据结构与算法——插入排序(Java实现)
来源:互联网 发布:apache 安装教程 编辑:程序博客网 时间:2024/05/24 07:42
/** * 插入排序的思想好比对手中的扑克牌排序; * 好比左手为空,桌面牌面朝下,我们每次拿 * 起一张桌面的牌,将其插入左手正确的位置, * 在插入过程中,将被插入的牌按某一顺序逐个 * 和左手的牌比较,找到正确的位置就停止 * **///<strong><span style="font-size:18px;">伪代码如下:</span></strong>/** * insertion_sort() * for j=2 to a.length * key=A[j] * //insert A[j] into the sorted sequence A[1,2...,j-1] * i=j-1 * while i>0 and A[i]>key * A[i+1]=A[i] * i=i-1 * A[i+1]=key * **/
</pre><pre name="code" class="java">//Java实现如下:
public class Insertion_sort{ public static void sort(Comparable[] a) { //将a[]按升序排列 int N=a.length; for(int i=2;i<N;i++) { for(int j=i;j>0&&(a[j].compareTo(a[j-1])<0);j--) {Comparable t=a[j]; a[j]=a[j-1]; a[j-1]=t; } }}}
算法性能:
对于随机排列的长度为N且主键不重复的的数组,平均情况下插入排序需要(N^2)/4次比较和(N^2)/4次交换。最好情况
只需要N-1次比较,0次交换
0 0
- 数据结构与算法——插入排序(Java实现)
- 数据结构与算法-插入排序(java实现)
- 数据结构与算法(8)---Java语言实现:插入排序
- Java数据结构与算法之数组排序——插入
- 【数据结构与算法】——插入排序
- 【数据结构与算法】——插入排序
- 数据结构与算法——选择排序(Java实现)
- 数据结构与算法——希尔排序(Java实现)
- 数据结构与算法——插入类排序(直接插入排序,希尔排序)
- 数据结构与算法:C++实现插入排序
- 数据结构与算法专题之查找与排序——插入类排序(插入、希尔)
- 数据结构与算法(java)——简单排序(冒泡,选择,插入)
- 数据结构与算法分析(Java语言描述)(2)—— 插入排序
- 插入排序 Java数据结构与算法
- <四>java数据结构与算法 插入排序
- Java数据结构与算法之插入排序
- java数据结构与算法____插入排序
- Java数据结构与算法---插入排序
- poj1252解题报告
- 基于MySQL Adapter完成数据的增删和修改操作
- 为最佳性能调优 Nginx
- leetcode 2 Add two numbers
- 今天要反省一下自己
- 数据结构与算法——插入排序(Java实现)
- 我的Java开发学习之旅------>Java经典排序算法之冒泡排序
- 深入学习ListView
- set,map,hash_set,hash_map概览
- msfvenom / ndisasm - disass shellcode
- SecretDo思秘达-商务日记
- SGU143 Long Live the Queen
- 视频会议之BigBlueButton
- 统计字符1的个数