冒泡排序 Java,Java 的新手

Bubblesort Java, new to Java

public class App {
    public static void main( String[] args ) {
        int[] set = {0,0,0,0,0,0,0};

        for(int i = 0; i < 7; i++) {
            boolean unique = false;
            while (!unique) {
                int j = 0;
                try {
                    j = JRandom.randInt(1, 45);
                }
                catch (ParamterException e) {
                    e.printStackTrace();
                }

                unique = true;
                for(int k = 0 ; k < 7; k++) {
                    if (j==set [k]) { 
                        unique = false;
                        break;
                    }
                }

                if (unique) {
                    set [i] = j;
                }
            }
        }


        for (int i= 0; i < 6; i++) {
            if (i == 5) {
                System.out.println(set[i]);
            }
            else {
                System.out.print(set[i]+", ");
            }
        }

        System.out.println("Bonus Ball = " + set[6]);
    }
}

我想知道如何在这段代码中实现冒泡排序。它在我的机器上运行并产生 6 个随机数 + 一个奖励球。

2, 34, 25, 14, 39, 13

Bonus Ball = 30

我的目标是让它打印出来,这样数字就会上升,这样它就像乐透一样,无论如何都是这个想法。

就这些了,谢谢。

for (i = 0 ; i < set.length() -2; i ++){ 
   for(j = i+1 ; j< set.length()-1 ; j++){ 
   if(set[i]<set[j]){
     int dummy = set[i];
     set[i] = set[j];
     set[j] = dummy;
     }
   }
}

上面的冒泡排序只排序了 6 个生成的数字,你的 Bonus ball 仍然存在于 set[6]

现在剩下的就是你的打印功能了。

冒泡排序集合数组:-

int temp = 0;
for(int i = 0;i<set.length-1;i++)
{
    for(int j = 0;j<set.length-1;j++)
    {
         if(set[j]>set[j+1])
         {
             temp = set[j];
             set[j] = set[j+1];
             set[j+1] = temp;
         }
    }
}
//Your set array is sorted using bubble sort at this point.

可以这样制作:

        for (int i = set.length-1; i >= 0; i --) {   

        for (int j = 0; j < i; j++) { 

            if (set[j] > set[j + 1]) {   
                 int aux = set[j];        
                 set[j] = set[j + 1];  
                 set[j + 1] = aux;        
            }           
        }       
    }

初始循环,这种方式也有帮助,不会浪费资源比较已经排序的索引。

如果不强制使用冒泡排序算法,只需使用已经提到的Array.sort方法。