zoukankan      html  css  js  c++  java
  • AJPFX关于Java中运用数组的四种排序方法

    JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。
    快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。
    冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来。
    选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过比较循环,输出有序的数组。
    插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。下面我就将他们的实现方法一一详解供大家参考。
    <1>利用Arrays带有的排序方法快速排序

    import java.util.Arrays;
    public class Test2{
             public static void main(String[] args){
                     int[] a={5,4,2,4,9,1};
                     Arrays.sort(a);  //进行排序
                     for(int i: a){
                             System.out.print(i);
                     }
             }
    }

    <2>冒泡排序算法

      public static int[] bubbleSort(int[] args){//冒泡排序算法
                     for(int i=0;i<args.length-1;i++){
                             for(int j=i+1;j<args.length;j++){
                                     if (args[i]>args[j]){
                                             int temp=args[i];
                                             args[i]=args[j];
                                             args[j]=temp;
                                     }
                             }
                     }
                    return args;
             }

    <3>选择排序算法

      public static int[] selectSort(int[] args){//选择排序算法
                      for (int i=0;i<args.length-1 ;i++ ){
                              int min=i;
                              for (int j=i+1;j<args.length ;j++ ){
                                      if (args[min]>args[j]){
                                              min=j;
                                      }
                              }
                              if (min!=i){
                              int temp=args[i];
                              args[i]=args[min];
                              args[min]=temp;        
                              }
                      }
                      return args;
              }

    <4>插入排序算法

      public static int[] insertSort(int[] args){//插入排序算法
                     for(int i=1;i<args.length;i++){
                             for(int j=i;j>0;j--){
                                     if (args[j]<args[j-1]){
                                             int temp=args[j-1];
                                             args[j-1]=args[j];
                                             args[j]=temp;        
                                     }else break;
                             }
                     }
                     return args;
             }


    以上就是java中的四种排序方法。不同的方法效率不一样,下面是不同的算法的比较和数据交换时的大O表示。
    冒泡排序:比较O(N2) 数据交换O(N2)
    选择排序:比较O(N2) 数据交换O(N)
    插入排序:比较O(N2) 复制数据O(N)
    在实际应用中,我们要尽量选择效率高的算法

  • 相关阅读:
    Running ASP.NET Applications in Debian and Ubuntu using XSP and Mono
    .net extjs 封装
    ext direct spring
    install ubuntu tweak on ubuntu lts 10.04,this software is created by zhouding
    redis cookbook
    aptana eclipse plugin install on sts
    ubuntu open folderpath on terminal
    ubuntu install pae for the 32bit system 4g limited issue
    EXT Designer 正式版延长使用脚本
    用 Vagrant 快速建立開發環境
  • 原文地址:https://www.cnblogs.com/AJPFX/p/10910783.html
Copyright © 2011-2022 走看看