`

Java中运用数组的四种排序方法

    博客分类:
  • J2EE
阅读更多


JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。下面我们来了解一下。
AD:51CTO云计算架构师峰会 抢票进行中!
JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。

快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。

冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来。

选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过比较循环,输出有序的数组。

插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。下面我就将他们的实现方法一一详解供大家参考。

<1>利用Arrays带有的排序方法快速排序

import java.util.Arrays; 2 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)

在实际应用中,我们要尽量选择效率高的算法。
分享到:
评论

相关推荐

    JAVA中运用数组的四种排序方法

    JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。  快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。  冒泡法是运用遍历数组进行比较,通过不断...

    JAVA 对象数组按照多个属性进行排序

    在Java编程中,对象数组排序是一项常见的任务,特别是在处理复杂数据结构时。当我们需要根据对象的多个属性进行排序时,情况会变得稍微复杂。本文将深入探讨如何在Java中实现这个功能,结合给出的标签“源码”和...

    Java中的数组

    ### Java中的数组知识点详解 #### 一、数组概要 数组是Java中一种重要的数据结构,它用于存储相同类型的数据集合。数组具有以下特点: 1. **数组是一种引用数据类型**:这意味着数组实际上是一个指向一组数据的...

    5-Java数组与方法

    在Java编程语言中,数组是一种特殊的数据...通过学习这些内容,开发者能够更熟练地在Java程序中运用数组,提高代码的效率和可读性。同时,掌握好数组和方法的交互也是Java编程的基础,对于理解和编写复杂程序至关重要。

    07-Java基础(数组-常见问题)

    Java语言中的数组是编程中最基本的数据结构之一,它允许存储同一类型的数据集合。在这个主题“07-Java基础(数组-常见问题)”中,我们将深入探讨数组在Java编程中的一些常见问题及其解决方案。 1. **数组的声明与...

    JAVA通过数组按首字母排序

    - **Arrays类**:Java标准库中的一个实用工具类,提供了各种静态方法来操作数组,如排序、查找等。 #### 二、代码实现分析 在给定的代码示例中,我们首先定义了一个字符串数组`arrayToSort`,然后使用`Arrays.sort...

    06-Java基础(数组-常见操作-排序位置置换代码提取

    例如,创建一个通用的数组排序方法: ```java public static void sortArray(int[] arr) { for (int i = 0; i ; i++) { for (int j = 0; j ; j++) { if (arr[j] &gt; arr[j + 1]) { int temp = arr[j]; arr[j] = ...

    Java中数组的各种应用

    总结,Java中的数组是程序设计的基础,理解并熟练运用数组的各种操作对于学习Java至关重要。从定义、初始化到遍历、排序,再到与其他数据结构的转换,每一步都需要扎实的掌握。希望这个简要概述能对初学者提供帮助,...

    Java第5章 数组 含源代码

    Java语言中的数组是一种非常基础且...总之,Java第5章关于数组的内容是学习Java编程的基础,理解和熟练运用数组对于后续的学习和实际项目开发至关重要。通过实践和代码分析,可以加深对数组特性的理解,提高编程技能。

    accp5.0java第八章 数组(改)

    6. **数组操作**:包括复制数组、数组排序、查找特定元素、合并和分割数组等高级操作。 7. **数组作为方法参数**:在函数或方法中传递数组,使得函数可以对整个数组进行处理。 8. **异常处理**:访问越界数组元素...

    Java程序设计--第四章[1].数组

    Java程序设计中的数组是编程中不可或缺的基本数据结构,它允许我们存储多个同类型的元素在一个单一的变量中。数组提供了一种高效且结构化的...通过熟练运用数组的各种特性和方法,开发者可以更有效地解决各种计算问题。

    使用循环操作Java中的数组共3页.pdf.zip

    在Java编程语言中,数组是一种非常基础且重要的数据结构,用于存储同类型的多个元素。循环是控制程序流程的关键部分,它允许我们重复执行一段代码,直到满足特定条件为止。本资料“使用循环操作Java中的数组共3页....

    从n个数组中取出所有排列组合(Java实现)

    Java作为一种强大的编程语言,提供了丰富的工具和方法来解决此类问题。下面我们将深入探讨这个问题的解决方案、相关算法以及Java中的实现细节。 首先,我们需要理解什么是排列组合。排列是指从n个不同元素中取出m...

    Java 数组练习

    通过这个"Java 数组练习",你可以深入理解和熟练运用数组,为后续的编程学习打下坚实的基础。无论是基础的数组操作还是复杂的多维数组处理,都能游刃有余。在实践中不断巩固,才能更好地掌握这些知识点。

    java【第4章:数组与方法】_数组的引用传递.

    在实际编程中,灵活运用数组和方法,结合引用传递的特性,可以帮助我们解决各种复杂问题。例如,排序算法中的快速排序或归并排序,就常常利用数组的引用传递来实现高效地交换和比较元素。 总之,理解Java中的数组...

    java 实现数组的增删改查

    对一维数组进行增删改查:int[] num = new int[10]; 要求:用方法实现 1.输入10个整数 2.删除指定位置上的数 3.修改指定位置上的数 4.查找某个数的位置(下标) 5.查找最大值 6.查找最小值 7.对数组进行排序

    Java一维数组的声明初始化和引用-Java教程共2页.p

    Java一维数组是Java编程语言中的基础数据结构之一,它用于存储同类型的多个元素。在学习Java时,理解和掌握一维数组的声明、...在实际编程中,灵活运用数组可以解决许多问题,因此深入理解并熟练运用数组是非常重要的。

    Java数组排序总结(冒泡_选择_插入_希尔)__递归算法的复杂度

    在编程领域,数组排序是基础且重要的操作,尤其是在Java中。本篇文章将深入探讨四种基本的排序算法:冒泡排序、选择排序、插入排序以及希尔排序,并结合递归算法的复杂度进行分析。这些排序算法在不同的场景下有不同...

    java数组资料

    这些是Java数组的基础知识,理解和熟练运用数组是学习Java编程的重要步骤。通过深入研究和实践,可以掌握更多高级用法,如泛型数组、数组作为方法参数传递、数组的异常处理等。"在线课第2节_数组"可能进一步探讨这些...

    Java数组倒置.rar

    在Java中,数组是一种数据结构,用于存储同一类型的多个元素。数组倒置,也就是将数组中的元素顺序从后往前排列,使得原数组的第一个元素变为最后一个,最后一个元素变为第一个。这个过程可以用于各种应用场景,比如...

Global site tag (gtag.js) - Google Analytics