基础Java练习05:数组的排序

  • 在操作数组时,经常需要对数组中的元素进行排序,利用程序对数组进行快速排序。

程序

/**
 * 功能:数组的排序
 * 作者:孤梦
 * 日期:2022年03月13日
 */
public class practice05 {
    public static void main(String[] args) {
        int[] arr = {9,8,3,5,2};
        System.out.print("未排序之前的数组: ");
        printArray(arr);           // 打印数组元素
        bubbleSort(arr);          // 调用排序方法
        System.out.print("排序之后的数组: ");
        printArray(arr);       // 打印数组元素
    }
    // 打印数组元素的方法
    public static void printArray(int[] arr) {
        // 循坏遍历数组的元素
        for (int i = 0;i < arr.length; i++) {
            System.out.print(arr[i] + " ");  // 打印元素和空格
        }
        System.out.print("\n");
    }
    // 定义对数组排序的方法
    public static void bubbleSort(int[] arr) {
        // 定义外层循坏
        for (int i = 0; i < arr.length - 1; i++) {
            // 定义内层循坏
            for (int j = 0; j < arr.length - i - 1; j++) {
                if (arr[j] > arr[j + 1]) {  // 比较相邻元素
                    // 下面的三行代码用于交换两个元素
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
            System.out.print("第" + (i + 1) + "轮排序后: ");
            printArray(arr);  // 每轮比较结束打印数组元素
        }
    }
}

运行程序

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: Java中的Arrays类提供了许多操作数组的方法,其中包括对数组进行排序的方法。使用Arrays.sort()方法可以对数组进行排序,该方法可以对任何类型的数组进行排序,包括基本类型和对象类型。 例如,对一个整型数组进行排序,可以使用以下代码: int[] arr = {5, 2, 8, 1, 9}; Arrays.sort(arr); 排序后,数组arr的值为{1, 2, 5, 8, 9}。 如果要对一个字符串数组进行排序,可以使用以下代码: String[] arr = {"apple", "banana", "orange", "pear"}; Arrays.sort(arr); 排序后,数组arr的值为{"apple", "banana", "orange", "pear"}。 需要注意的是,Arrays.sort()方法会改变原始数组的顺序,如果需要保留原始数组的顺序,可以先将数组复制一份再进行排序。 ### 回答2: Java数组是一种很常见的数据类型,在实际开发中使用频率也很高。在Java中,对于数组的操作一般使用Arrays类来完成,该类提供了很多实用的方法,比如数组排序等。 数组排序是对数组中的元素进行排序的过程,可以按照升序或者降序排列Java中使用Arrays类提供的sort方法对数组进行排序,方法的原型如下: public static void sort(数组名); 其中,数组名代表需要排序数组。如果数组中的元素为基本数据类型(如int、double等),则默认按照升序排列;如果数组中的元素为字符串类型,则按照字典序升序排列。 下面是一个示例代码,演示如何使用Arrays类对数组进行排序: ``` import java.util.Arrays; public class ArraySortDemo { public static void main(String[] args) { int[] nums = {3, 7, 1, 9, 5}; System.out.println("排序前:" + Arrays.toString(nums)); Arrays.sort(nums); System.out.println("排序后:" + Arrays.toString(nums)); } } ``` 代码执行结果如下: ``` 排序前:[3, 7, 1, 9, 5] 排序后:[1, 3, 5, 7, 9] ``` 可以看到,排序前的数组为3、7、1、9、5,排序后的数组为1、3、5、7、9,按照升序排列。 除了按照升序排列之外,还可以按照降序排列。可以使用Arrays类的sort方法,同时指定排序算法排序方式,如下所示: ``` import java.util.Arrays; import java.util.Collections; public class ArraySortDemo { public static void main(String[] args) { Integer[] nums = {3, 7, 1, 9, 5}; System.out.println("排序前:" + Arrays.toString(nums)); Arrays.sort(nums, Collections.reverseOrder()); System.out.println("排序后:" + Arrays.toString(nums)); } } ``` 代码执行结果如下: ``` 排序前:[3, 7, 1, 9, 5] 排序后:[9, 7, 5, 3, 1] ``` 可以看到,本次使用了Collections类提供的reverseOrder方法,将排序方式指定为降序。 综上所述,通过Arrays类提供的sort方法,我们可以很轻松地对数组进行排序。但是需要注意的是,如果数组中的元素为自定义类型,需要在自定义类型中实现Comparable接口或者Comparator接口,并重写compareTo方法或compare方法,才能实现对数组排序。 ### 回答3: Java中自带了一个Arrays类,其中包含了对数组排序的方法。Arrays类中的sort()方法可以以升序或降序的形式对数组进行排序。下面就介绍一下如何使用sort()方法对数组进行排序。 首先,我们创建一个数组,然后使用sort()方法对其进行排序。 ``` int[] arr = {10, 5, 8, 20, 13}; Arrays.sort(arr); ``` 上面的代码会将数组arr按照从小到大的顺序进行排序。我们可以输出一下排序后的结果。 ``` for (int i : arr) { System.out.print(i + " "); } ``` 运行上面的代码可以看到输出结果为:5 8 10 13 20。 除了按照从小到大的顺序排序外,sort()方法还可以按照从大到小的顺序对数组进行排序。我们只需要添加一个比较器即可。 ``` int[] arr2 = {10, 5, 8, 20, 13}; Arrays.sort(arr2, Collections.reverseOrder()); ``` 上面的代码会将数组arr2按照从大到小的顺序进行排序。我们同样输出一下排序后的结果。 ``` for (int i : arr2) { System.out.print(i + " "); } ``` 运行上面的代码可以看到输出结果为:20 13 10 8 5。 除了对int类型的数组进行排序,sort()方法也支持对其他类型的数组进行排序,比如String、Double等。 总的来说,使用Arrays类中的sort()方法可以非常方便地对数组进行排序,提高我们的开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值