这里我们解释如何编写Java程序来执行选择排序。
选择排序是一种简单的排序算法。它将整个列表分为两个子列表。
1) 已排序列表
2) 未排序列表
已排序列表包含已排序的元素,未排序列表包含剩余的元素。
在选择排序开始时,已排序列表为空。然后,在第一次迭代中,最小的元素被放置在数组的第一个位置。然后,第二次迭代从i+1开始到数组的限制。它将找出i+1到限制之间最小的元素并将其放置在正确的位置。重复此过程,直到未排序列表变为空。
首先,我们必须声明类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]。
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