Java 数组排序工具类

简介: Java 数组排序工具类

SortUtil:


import java.util.Arrays;
/**
 * @Author : JCccc
 * @CreateTime : 2020/2/01
 * @Description :
 **/
public class SortUtil {
    //封装好的方法排序
    public static void ArraysSort(int[] nums) {
        Arrays.sort(nums);
        for (int a : nums) {
            System.out.print(a);
        }
    }
    //冒泡排序
    public static void BubbleSort(int[] nums) {
        int i, j, k;
        int n = nums.length;
        for (i = 0; i < n - 1; i++) {
            for (j = 0; j < n - 1 - i; j++) {
                if (nums[j] > nums[j + 1]) {
                    k = nums[j];
                    nums[j] = nums[j + 1];
                    nums[j + 1] = k;
                }
            }
        }
        for (int a : nums) {
            System.out.print(a);
        }
    }
    //选择排序
    public static void SelectSort(int[] nums) {
        int n = nums.length;
        for (int i = 0; i < n; i++) {
            int tem = i;
            //将数组中从i开始的最小的元素所在位置的索引赋值给tem
            for (int j = i; j < n; j++) {
                if (nums[j] < nums[tem]) {
                    tem = j;
                }
            }
            //上面获取了数组中从i开始的最小值的位置索引为tem,利用该索引将第i位上的元素与其进行交换
            int temp1 = nums[i];
            nums[i] = nums[tem];
            nums[tem] = temp1;
        }
        for (int a : nums) {
            System.out.print(a);
        }
    }
    //反转排序
    public static void ReversalSort(int[] nums) {
        int n = nums.length;
        for (int i = 0; i < n / 2; i++) {
            int tp = nums[i];
            nums[i] = nums[nums.length - i - 1];
            nums[nums.length - i - 1] = tp;
        }
        for (int a : nums) {
            System.out.print(a);
        }
    }
    //插入排序
    public static void InsertSort(int[] nums) {
        int n = nums.length;
        for (int i = 1; i < n; i++) {
            for (int j = i; j > 0; j--) {
                if (nums[j - 1] > nums[j]) {//大的放后面
                    int tmp = nums[j - 1];
                    nums[j - 1] = nums[j];
                    nums[j] = tmp;
                }
            }
        }
        for (int a : nums) {
            System.out.print(a);
        }
    }
    public static void main(String[] args) {
        int[] nums = new int[]{3, 5, 1, 7, 9};
        ArraysSort(nums);
        System.out.println("\n");
        BubbleSort(nums);
        System.out.println("\n");
        SelectSort(nums);
        System.out.println("\n");
        ReversalSort(nums);
        System.out.println("\n");
        InsertSort(nums);
    }
}

image.png

相关文章
|
20天前
|
存储 Java
Java数组07:稀疏数组
【8月更文挑战第23天】
23 2
|
19天前
|
Java
|
16天前
|
Java
Java应用结构规范问题之在UnitConvertUtils工具类将千米转换为米的问题如何解决
Java应用结构规范问题之在UnitConvertUtils工具类将千米转换为米的问题如何解决
|
15天前
|
Java
Java数组的应用场景
Java数组的应用场景
26 1
|
15天前
|
存储 机器学习/深度学习 Java
Java数组
Java数组
23 1
|
19天前
|
存储 Java
如何在 Java 中打印字符串数组列表
【8月更文挑战第23天】
26 2
|
19天前
|
存储 Java API
|
19天前
|
存储 安全 Java
Java 中数组和 ArrayList 的区别
【8月更文挑战第23天】
26 1
|
22天前
|
Java 索引
Java系列 之 Java复制(拷贝)数组的4种方法:arraycopy()方法、clone() 方法、copyOf()和copyOfRan
这篇文章介绍了Java中数组复制的四种方法:`Arrays.copyOf()`、`Arrays.copyOfRange()`、`System.arraycopy()`和`clone()`方法,以及它们的使用场景和示例代码。
|
11天前
|
存储 开发者 C#
WPF与邮件发送:教你如何在Windows Presentation Foundation应用中无缝集成电子邮件功能——从界面设计到代码实现,全面解析邮件发送的每一个细节密武器!
【8月更文挑战第31天】本文探讨了如何在Windows Presentation Foundation(WPF)应用中集成电子邮件发送功能,详细介绍了从创建WPF项目到设计用户界面的全过程,并通过具体示例代码展示了如何使用`System.Net.Mail`命名空间中的`SmtpClient`和`MailMessage`类来实现邮件发送逻辑。文章还强调了安全性和错误处理的重要性,提供了实用的异常捕获代码片段,旨在帮助WPF开发者更好地掌握邮件发送技术,提升应用程序的功能性与用户体验。
17 0