Java 需要帮助理解这个特定的降序选择整数排序吗
正如标题中所说,这是一个使用选择排序的整数降序排序。这是一个程序。。我很难理解这些步骤。有人能帮我理解它吗?提前谢谢Java 需要帮助理解这个特定的降序选择整数排序吗,java,sorting,integer,selection-sort,Java,Sorting,Integer,Selection Sort,正如标题中所说,这是一个使用选择排序的整数降序排序。这是一个程序。。我很难理解这些步骤。有人能帮我理解它吗?提前谢谢 import java.util.Scanner; public class Selectionsort_descending { public static void main(String args[]) { int i,j,k,m,n; Scanner sc = new Scanner(System.in); System.out.println("Enter any nu
import java.util.Scanner;
public class Selectionsort_descending
{
public static void main(String args[])
{
int i,j,k,m,n;
Scanner sc = new Scanner(System.in);
System.out.println("Enter any number");
n=sc.nextInt();
int a[]=new int [n];
for (i=0;i<=n-1;i++)
{
System.out.println("Enter number");
a[i]=sc.nextInt();
}
for (j=0;j<=n-1;j++)
{
for (k=j;k<=n-1;k++)
{
if (a[j]<a[k])
{
m=a[j];
a[j]=a[k];
a[k]=m;
}
}
}
for (i=0;i<=n-1;i++)
{
System.out.print(a[i]+" ");
}
}
}
import java.util.Scanner;
公共类选择排序
{
公共静态void main(字符串参数[])
{
int i,j,k,m,n;
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入任何数字”);
n=sc.nextInt();
int a[]=新的int[n];
对于(i=0;i首先,我强烈建议对代码进行更多格式化
通过这样做,您的代码应该是这样的(我做了一些改进,然后我会解释)
import java.util.Scanner;
公共类选择排序{
公共静态void main(字符串参数[]){
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入任何数字”);
int n=sc.nextInt();
int a[]=新的int[n];
对于(int i=0;i
首先,我更改了“I,因为交换是在内部循环内完成的,它是冒泡排序或类似的东西。如果交换是在内部循环外完成的,它是选择排序或类似的东西。Wiki链接:
你在哪里找到这段代码的?它不符合编码标准,缩进不当,使用了不可读的变量名。如果你想学习,那么这不是专业人士写的,你不应该从中学习。我的一位校友做的……为什么兄弟?程序中有什么问题@RealSkeptic@rockz3r-Si如果交换是在内部循环内完成的,则是冒泡排序或类似的操作。如果交换是在内部循环外完成的,则是选择排序或类似的操作。请参阅下面我的答案,其中包括带有示例代码的wiki链接。伙计…我告诉了选择排序..我知道如何执行冒泡排序。我想解释选择排序。:)@Linux nox正在看程序..你做的是选择排序..但是你错告诉了“这个算法叫做冒泡排序”。。
import java.util.Scanner;
public class Selectionsort_descending {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter any number");
int n = sc.nextInt();
int a[] = new int[n];
for (int i = 0; i < n ; i++) {
System.out.println("Enter number");
a[i] = sc.nextInt();
}
for (int j = 0; j < n ; j++) {
for (int k = j; k < n; k++) {
if (a[j] < a[k]) {
int m = a[j];
a[j] = a[k];
a[k] = m;
}
}
}
for (int i = 0; i < n ; i++) {
System.out.print(a[i] + " ");
}
sc.close();
}
}