这是气泡排序变化还是完全不同?

问题描述

我正在实现冒泡排序,我想到了:-

import java.io.*;
import java.util.Arrays;


public class BubbleSort550 {
  
    public static void main(String[] args){
      
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        try{
              String[] temp = br.readLine().split("\\s+");
              int[] arr = new int[temp.length];

              for(int i = 0; i < arr.length; i++){
                  arr[i] = Integer.parseInt(temp[i]);
              }
              for(int i = 0; i < arr.length; i++){
                for(int j = 0; j < arr.length - i - 1; j++){
                   if(arr[j] > arr[j+1]){
                     int inTemp = arr[j];
                     arr[j] = arr[j+1];
                     arr[j+1] = inTemp;
                   }
                                 
                }
              }

              System.out.println(Arrays.toString(arr));
        }catch(IOException ioe){
           ioe.printStackTrace();    
        }
    }
}

这是Bubble排序,如果我错了,就我所知,请纠正我。

但是接下来的那件事呢,至少在所有情况下,按照我的测试,这也行得通。

import java.io.*;
import java.util.Arrays;


public class BubbleSort550 {
  
    public static void main(String[] args){
      
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        try{
              String[] temp = br.readLine().split("\\s+");
              int[] arr = new int[temp.length];

              for(int i = 0; i < arr.length; i++){
                  arr[i] = Integer.parseInt(temp[i]);
              }
              for(int i = 0; i < arr.length; i++){
                for(int j = i+1; j < arr.length; j++){
                   if(arr[i] > arr[j]){
                     int inTemp = arr[j];
                     arr[j] = arr[i];
                     arr[i] = inTemp;
                   }
                }
              }

              System.out.println(Arrays.toString(arr));
        }catch(IOException ioe){
           ioe.printStackTrace();    
        }
    }
}

我觉得这是正确的,在我看来,这不是冒泡排序,因为冒泡排序的基本前提是每次通过都应冒出最大的数目,而在第二种实现中不会发生这种情况,我不知道上面的实现是哪种标准的排序算法。好吧,我完全不确定第二个答案是否正确。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...