Java选择排序程序


2022年4月3日, Learn eTutorial
1875

这里我们解释如何编写Java程序来执行选择排序。

Java中的选择排序是什么?

选择排序是一种简单的排序算法。它将整个列表分为两个子列表。

1) 已排序列表

2) 未排序列表

已排序列表包含已排序的元素,未排序列表包含剩余的元素。

在选择排序开始时,已排序列表为空。然后,在第一次迭代中,最小的元素被放置在数组的第一个位置。然后,第二次迭代从i+1开始到数组的限制。它将找出i+1到限制之间最小的元素并将其放置在正确的位置。重复此过程,直到未排序列表变为空。

 

如何实现一个Java程序来执行选择排序?

首先,我们必须声明类SelectionSort。声明整型变量i,j,temp,limit。创建一个Scanner类的对象sc。读取数组元素的限制作为limit。声明一个大小为limit的整型数组。使用for循环将数组元素读取到array[i]中。然后使用嵌套for循环,条件为i<=limit-i-1。设置min=i。然后使用另一个for循环设置j=i+1。检查j

算法

步骤1:声明具有public修饰符的类SelectionSort

步骤2:打开main()开始程序,Java程序执行从main()开始

步骤3:声明整型变量i,j,temp,limit

步骤4:将数组的限制读取到变量limit中。

步骤5:声明一个大小为limit的数组。

步骤6:使用for循环将元素读取到数组中。

步骤7:使用条件为i的for循环

步骤8:使用另一个for循环设置j=i+1,检查j

步骤9:检查是否array[j]

步骤10:使用temp变量交换array[min]array[j]

步骤11:将i增加1并重复步骤7。

步骤12:使用for循环显示排序后的列表为array[i]

 

Java 源代码

                                          import java.util.Scanner;

public class SelctionSort {
  public static void main(String []args) {
    int i,j,temp,limit;
    Scanner sc = new Scanner(System.in);
 
    System.out.println("Enter the limit of the numbers:");
    limit = sc.nextInt();
 
    int array[] = new int[limit];
 
    System.out.println("Enter " + limit + " numbers: ");
 
    for (i = 0; i <limit; i++) 
      array[i] = sc.nextInt();
      
      
      
      for ( i = 0; i < limit-1; i++)
        {
           
            int min = i;
            for ( j = i+1; j < limit; j++)
                if (array[j] < array[min])
                    min = j;
 
             temp = array[min];
            array[min] = array[i];
            array[i] = temp;
        }
      
      
 
    System.out.println("******Sorted list******");
 
    for (i = 0; i < limit; i++) 
      System.out.println(array[i]);
  }
}
                                      

输出

Enter the limit of the numbers:5
Enter 5 numbers: 
56
2
89
1
400
******Sorted list******
1
2
56
89
400