117.info
人生若只如初见

java选择排序法代码怎么写

下面是一个简单的Java选择排序算法的代码示例:

public class SelectionSort {
    public static void main(String[] args) {
        int[] array = {5, 2, 6, 1, 3, 4}; // 待排序的数组
        selectionSort(array); // 调用选择排序算法进行排序
        for (int num : array) {
            System.out.print(num + " "); // 输出排序后的数组
        }
    }

    public static void selectionSort(int[] array) {
        int n = array.length;

        for (int i = 0; i < n - 1; i++) {
            int minIndex = i;
            for (int j = i + 1; j < n; j++) {
                if (array[j] < array[minIndex]) {
                    minIndex = j;
                }
            }
            swap(array, i, minIndex); // 将当前位置的数与最小值交换
        }
    }

    public static void swap(int[] array, int i, int j) {
        int temp = array[i];
        array[i] = array[j];
        array[j] = temp;
    }
}

这个代码示例中,我们定义了一个选择排序函数selectionSort,它接受一个整数数组作为参数。该函数使用两个循环来实现选择排序的逻辑。外部循环用于遍历数组中的每个元素,内部循环用于查找未排序部分中的最小元素。最小元素的索引被保存在minIndex变量中。在内部循环结束后,我们通过调用swap函数将当前位置的数与最小值进行交换。最后,我们在main函数中调用selectionSort函数并输出排序后的数组。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe606AzsLAA5TBlM.html

推荐文章

  • java中异常类会影响性能吗

    在Java中,异常类本身不会对性能产生显著影响。异常处理机制是为了在程序运行时处理错误或异常情况,而不是为了优化性能。然而,在使用异常时,需要注意以下几点...

  • java中异常类如何避免

    在Java中,避免异常的最好方法是编写健壮的代码并遵循一些最佳实践。以下是一些建议: 预期和处理异常:使用try-catch语句来捕获和处理可能发生的异常。确保处理...

  • java中异常类有哪些常见类型

    Java中的异常类主要分为两大类:受检异常(Checked Exceptions)和非受检异常(Unchecked Exceptions)。以下是具体的异常类型:
    受检异常(Checked Except...

  • java中异常类怎么捕获

    在Java中,我们使用try-catch语句来捕获异常。当程序执行过程中遇到异常时,Java运行时系统会抛出一个异常对象。你可以使用try块来包含可能引发异常的代码,然后...

  • python打印行长度怎么设置

    在Python中,可以使用print()函数打印字符串的长度。要设置打印的行长度,可以使用width参数来设置。
    例如,如果想要将打印的行长度设置为20个字符,可以按...

  • pycharm爬取网站数据全为空怎么解决

    如果PyCharm爬取的网站数据全为空,可能有以下几个原因和解决方法: 网站防爬虫机制:有些网站会设置反爬虫机制,如验证码、IP封禁等。可以尝试在爬取前添加一些...

  • c语言怎么遍历文件所有内容

    在C语言中,可以使用fgetc()函数来遍历文件的所有内容。具体步骤如下: 打开文件,使用fopen()函数来打开文件,并返回一个文件指针。 FILE *file = fopen("filen...

  • c++中auto类型推导的原理是什么

    在C++中,auto关键字用于自动推导变量的类型。它的原理是根据变量的初始值来确定变量的类型。
    当使用auto关键字声明变量时,编译器会根据变量的初始值来推导...