我一直在尝试使用冒泡排序对整数数组进行排序。我有一个字符的ArrayList,它也对应于整数数组(例如:integerArray [0]和charArray [0]一起),所以当我将冒泡排序应用于整数数组时,我想要在排序中进行相同的更改也可以使用char数组。我试图用下面的代码来做到这一点。如果查看输入和输出,问题会更清楚。我非常感谢你的帮助,谢谢。
冒泡排序:
public static void BubbleSort() {
int temp;
char temp2;
for (int x = 0; x < numberOfOccurences.length - 1; x ++) {
for (int i = 0; i < numberOfOccurences.length - 1; i++) {
if (numberOfOccurences[i] < numberOfOccurences[i + 1]) {
temp = numberOfOccurences[i];
temp2 = characters.get(i);
numberOfOccurences[i] = numberOfOccurences[i + 1];
characters.set(i, characters.get(i+1));
numberOfOccurences[i + 1] = temp;
characters.set(i + 1, characters.get(i));
}
}
}
}
根据需要对数组进行反对:
3 : S
22 : i
14 : d
28 : h
30 : a
20 : r
34 : t
60 :
11 : w
43 : e
14 : n
16 : o
2 : K
12 : m
16 : s
7 : c
9 : ,
7 : u
4 : v
7 : l
2 : b
2 : p
2 : f
3 : .
8 : y
6 : g
1 : P
泡泡分类后:
60 :
43 : e
34 : e
30 : e
28 : e
22 : e
20 : e
16 : o
16 : s
14 : s
14 : s
12 : s
11 : s
9 : ,
8 : y
7 : y
7 : y
7 : y
6 : g
4 : g
3 : g
3 : g
2 : g
2 : g
2 : g
2 : g
1 : P
答案 0 :(得分:0)
if语句的最后一行有拼写错误。它应该是
characters.set(i + 1, temp2);
而不是
characters.set(i + 1, characters.get(i));