数组的四种排序

1.快速排序法Arrays.sort();

用法1.sort(byte[] a)

     对指定的 byte 型数组按数字升序进行排序。
  sort(byte[] a, int fromIndex, int toIndex)
  对指定 byte 型数组的指定范围按数字升序进行排序。
  sort(char[] a)
  对指定的 char 型数组按数字升序进行排序。
  sort(char[] a, int fromIndex, int toIndex)
  对指定 char 型数组的指定范围按数字升序进行排序。
  sort(double[] a)
  对指定的 double 型数组按数字升序进行排序。
  sort(double[] a, int fromIndex, int toIndex)
  对指定 double 型数组的指定范围按数字升序进行排序。
  sort(float[] a)
  对指定的 float 型数组按数字升序进行排序。
  sort(float[] a, int fromIndex, int toIndex)
  对指定 float 型数组的指定范围按数字升序进行排序。
  sort(int[] a)
  对指定的 int 型数组按数字升序进行排序。
  sort(int[] a, int fromIndex, int toIndex)
  2.sort(long[] a)
  对指定的 long 型数组按数字升序进行排序。
  sort(long[] a, int fromIndex, int toIndex)
  对指定 long 型数组的指定范围按数字升序进行排序。
  sort(Object[] a)
  根据元素的自然顺序,对指定对象数组按升序进行排序。
  sort(Object[] a, int fromIndex, int toIndex)
  根据元素的自然顺序,对指定对象数组的指定范围按升序进行排序。
  sort(short[] a)
  对指定的 short 型数组按数字升序进行排序。
  sort(short[] a, int fromIndex, int toIndex)
  对指定 short 型数组的指定范围按数字升序进行排序。
  sort(T[] a, Comparator<? super T> c)
  根据指定比较器产生的顺序对指定对象数组进行排序。
  sort(T[] a, int fromIndex, int toIndex, Comparator<? super T> c)
  根据指定比较器产生的顺序对指定对象数组的指定范围进行排序。
 

2.冒泡排序法

int a[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,18,23,34,15,35,25,53,51};
int temp=0;
for (int i = 0; i < a.length - 1; i++)
{
for (int j = 0; j < a.length - 1 - i; j++)
{
if (a[j] > a[j + 1])
{
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}

3.选择排序

int a[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,18,23,34,15,35,25,53,51};
for(int i=0;i<a.length;i++){
for(int j=i+1;j<a.length;j++){
if(a[i]>a[j]){
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}

4.插入排序

int a[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,18,23,34,15,35,25,53,51};
for (int i = 1; i < a.length; i++)
{
for (int j = i; j > 0; j--)
{
if (a[j] < a[j - 1])
{
int temp = a[j - 1];
a[j - 1] = a[j];
a[j] = temp;
}
else
break;
}
}

java四种数组排序的更多相关文章

  1. Java 四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor

    介绍new Thread的弊端及Java四种线程池的使用,对Android同样适用.本文是基础篇,后面会分享下线程池一些高级功能. 1.new Thread的弊端执行一个异步任务你还只是如下new T ...

  2. Java四种线程池

    Java四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor 时间:20 ...

  3. Java四种引用包括强引用,软引用,弱引用,虚引用。

    Java四种引用包括强引用,软引用,弱引用,虚引用. 强引用: 只要引用存在,垃圾回收器永远不会回收Object obj = new Object();//可直接通过obj取得对应的对象 如obj.e ...

  4. Pascal、VB、C#、Java四种语法对照表

    因为工作原因,自学会了vb后陆续接触了其它语言,在工作中经常需要与各家使用不同语言公司的开发人员做程序对接,初期特别需要一个各种语法的对照比,翻看了网络上已有高人做了整理,自己在他基础上也整理了一下, ...

  5. Java四种引用--《深入理解Java虚拟机》学习笔记及个人理解(四)

    Java四种引用--<深入理解Java虚拟机>学习笔记及个人理解(四) 书上P65. StrongReference(强引用) 类似Object obj = new Object() 这类 ...

  6. (转载)new Thread的弊端及Java四种线程池的使用

    介绍new Thread的弊端及Java四种线程池的使用,对Android同样适用.本文是基础篇,后面会分享下线程池一些高级功能. 1.new Thread的弊端 执行一个异步任务你还只是如下new ...

  7. 不可访问内存 Java四种引用包括强引用,软引用,弱引用,虚引用

    小结: 1.不可访问内存是指一组没有任何可访问指针指向的由计算机程序进行动态分配的内存块. 2.垃圾收集器能决定是否一个对象还是可访问的:任何被确定不可访问的对象将会被释放. https://zh.w ...

  8. 线程池是什么?Java四种线程池的使用介绍

    使用线程池的好处有很多,比如节省系统资源的开销,节省创建和销毁线程的时间等,当我们需要处理的任务较多时,就可以使用线程池,可能还有很多用户不知道Java线程池如何使用?下面小编给大家分享Java四种线 ...

  9. java四种引用及在LeakCanery中应用

    java 四种引用 Java4种引用的级别由高到低依次为: StrongReference > SoftReference > WeakReference > PhantomRefe ...

随机推荐

  1. 【Qt】QDialog之屏蔽Esc键【转】

    简述 Qt中Esc键会在一些控件中默认的进行一些事件的触发,比如:QDialog,按下Esc键窗口消失.大多数情况下,我们不需要这么做,那么就需要对默认事件进行屏蔽. 简述 源码分析 事件过滤器 事件 ...

  2. Nginx之负载均衡

    转自:http://www.360doc.com/content/13/1114/12/7694408_329125489.shtml 注,大家可以看到,由于我们网站是发展初期,nginx只代理了后端 ...

  3. 值类型的Constructor

    使用C#的时候我们最熟悉的是类,也就是Reference Type,翻译成中文是引用类型.但是C#还有另外的一种类型往往被我们用的最多缺经常被忽视,这种类型就是值类型(Value Type). 值类型 ...

  4. Waring:This LinearLayout layout or its FrameLayout parent is useless; transfer the background attribute to the other view

    解决方法请参考: You have a single component (row) vertical linear layout, containing another linear layout. ...

  5. MinGW-64 安装

    一.在mingw-w64官网下载mingw-w64在线安装包 二.点击mingw-w64进行安装,选择: Version:选最新版本 我这个是4.9.2 Architecture:x86_64 (64 ...

  6. BI的核心价值[转]

    BI的核心价值是辅助决策,从一个洁净的数据源中自动提取有价值的数据进行分析,从而成为重要商业决定的决策基础.但在国内,洁净的数据源不易得到,很多情况下都需要进行数据清洗,所以BI的应用受到很大程度的抑 ...

  7. JVM基础:深入学习JVM堆与JVM栈

    转自:http://developer.51cto.com/art/201009/227812.htm JVM栈解决程序的运行问题,即程序如何执行,或者说如何处理数据;JVM堆解决的是数据存储的问题, ...

  8. Nginx模块开发1_明白自定义模块的编译流程

    自定义模块的编译流程 --add-module参数 configure使用--add-module参数指定添加模块目录. config脚本 由--add-module指定的目录保存为$ngx-addo ...

  9. ruby condition

    class.new 新建class.find 查询class.destroy 删除 变量查询a="hahaha"Product.find(:all,:conditions=> ...

  10. 在客户环境定位.net程序异常

    http://www.cnblogs.com/yuilin/p/3788796.html 我们的程序最后都会运行在客户的环境中,客户环境上不会有VS这样的开发工具,那么怎么办呢? 我们可以使用一个很小 ...