【发布时间】:2021-12-13 06:40:27
【问题描述】:
导入 java.util.ArrayList;
公共类主{
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
System.out.println("┌──────────────────────────────────────────────────────────────┐");
System.out.println("|Welcome this is Bubble Sort that will random generate number ");
System.out.println("└──────────────────────────────────────────────────────────────┘");
System.out.println("┌─────────────────────────────────────────┐");
for (int i = 1; i <= 5; i++) {
System.out.println("|Number " + i + " random generated number");
int random = (int) (Math.random() * 100 + 1);// to generate tha random number
array[i] = random;// To have random number in array
System.out.println("| "+random);//Display the result
list.add(random);//To store the 5 randomly generated numbers from 1 – 100 in arraylist
}
System.out.println("└─────────────────────────────────────────┘");
System.out.println("┌──────────────────────────────────────────────────────────────┐");
System.out.println("| before bubble sort");
System.out.print(list);
System.out.println("\n└──────────────────────────────────────────────────────────────┘");
System.out.println();
bubbleSort(list);
System.out.println("┌─────────────────────────────────────────┐");
System.out.println("Arraylist after bubble sort: ");
System.out.print(list);
System.out.println("\n└─────────────────────────────────────────┘");
}
static void bubbleSort(ArrayList<Integer> list) {
int temp=0;
boolean needNextPass = true;
for (int k = 1; k < list.size() && needNextPass; k++) {
//array may be sorted and next pass not needed
needNextPass = false;
for (int i = 0; i < list.size()-k; i++) {
if (list.get(i).compareTo(list.get(i + 1))>0)
temp = list.get(i);
list.set(i, list.get(i + 1));
list.set(i + 1, temp);
needNextPass = true; // next pass still needed
}
}
}
}
这是输出 1]:https://i.stack.imgur.com/qHyk1.jpg
我不知道为什么 ArrayList 不会排序,有些数字只是重复而不正确排序,所以如果可能的话,任何人都可以帮助我
我试图设置 int temp;但它不会工作它的建议要添加 temp = 0;所以我试着做 temp = 1; i=1;它不会工作
【问题讨论】: