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

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

把当前元素插入到一个已经排序的数组中,从后往前找,如果插入数比当前数小的话,当前数就后移,否则,直接插入

public class InsertSort {

    public static <AnyType extends Comparable<? super AnyType>>
        AnyType[] insertionSort(AnyType[] a){
        int j;
        for(int p=1;p<a.length;p++){
            AnyType tmp=a[p];
            for(j=p;j>0&&tmp.compareTo(a[j-1])<0;j--)
                a[j]=a[j-1];
            a[j]=tmp;
        }
        return a;
    }
}

测试:

public class MyTest {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Integer[] a=new Integer[]{2,14,5,16,7,1,6,12,5};
        a=InsertSort.insertionSort(a);
        for(Integer b:a){
            System.out.print(b+" ");
        }
    }
}

效果:

1 2 5 5 6 7 12 14 16

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

你可能感兴趣的文章
Blizzard的MPQ文件格式搜索算法
查看>>
你的变量究竟存储在什么地方?
查看>>
s3c2410 中断异常处理(转)
查看>>
对张孝祥C语言试题其中一题的探讨 (转载)
查看>>
一些好的网站
查看>>
WinCE中的虚拟地址和实际的物理地址是如何对应
查看>>
Microsoft Windows CE 的内存使用
查看>>
makefile入门
查看>>
中科院计算所Goddon CPU诞生历史!牛!
查看>>
ispPAC
查看>>
为人处世小技巧
查看>>
结构体知识汇总
查看>>
内存操作越界略述
查看>>
消息与消息队列
查看>>
关于#include "stdafx.h"
查看>>
VC下线程同步的三种方法(互斥、事件、临界区)/(转)
查看>>
非常好的一篇U-BOOT的文章--转载
查看>>
【设计模式】学习之创建型 单例模式
查看>>
【设计模式】学习之创建型 原型模式
查看>>
【设计模式】学习之结构型 适配器模式-装饰器模式-代理模式
查看>>