Java选择排序困惑

标签 java arrays sorting selection-sort

我不明白这段代码中发生了什么。重新发布之前的内容并包含代码。有人可以解释一下这里发生了什么吗?我从概念上理解列表一次重新排序一项,但我就是无法理解这段代码。

import java.io*;

public class Example {

   public static void main(String[] args) throws IOException {

      int age[] = new int[10];
      int i, j;
      int smallest;
      int temp;
      String line; 
      BufferedReader in;
      in = new BUfferedReader(new InputStreamReader(System.in));
      for(i = 0; i<= 9; i++)
      {
       System.out.println("Enter an age: ");
       line = in.readline();
       age[i] = Integer.valueOf(line).intValue();
      }
      for(i = 0; i<= 9, i++) {
         smallest = i;
           for(j = 1; j<=9; j++)
             {
               if(age[j] < age[smallest]) {
                   smallest = j;
               }
             }
           for (i = 0; i<=9; i++)
           {
            System.out.println(age[i]);
           }
        }
    }
  }

最佳答案

这看起来像是 Bubble Sort 的实现。在互联网上和有关基本算法主题的书籍中,有大量关于这个经典(并且低效!)算法主题的信息。

关于Java选择排序困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21413608/

相关文章:

java - 使用哈希码作为唯一 ID

c++ - 为什么数组中存储了额外的数据?

c - 结构数组的排序成员

sql-server - 按父组和子组对父子记录排序

iphone - 带数字的字符串排序 last objective c

java - 从 JList Java Swing 中删除元素

java - 跟踪程序中的所有异常

java - 你能在 Java 中将 if 紧跟在 for 之后吗?

c - 处理 fscanf()

c++ - 对多个字段的元素进行排序