冒泡排序
数组类型排序
数组类型的冒泡排序相对于字符串的要简单一点,不必考虑长度问题。
public static void sort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for (int t = 0; t <= arr.length - 1; t++) {
System.out.print(" " + arr[t]);
}
}
字符串冒泡排序
字符串的排序就比数字要复杂一点,要考虑字符的长度
public static void sort(String[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
for (int x = i + 1; x < arr.length; x++) {
char[] charBefore = (arr[i]).toCharArray();
char[] charsAfter = (arr[x]).toCharArray();
int length = (arr[x]).length();
int loopNumber = (charBefore.length > length ? length : charBefore.length);
for (int j = 0; j < loopNumber; j++) {
if ((int) charBefore[j] < (int) charsAfter[j]) {
break;
}
else if ((int) charBefore[j] > (int) charsAfter[j]) {
String temp = arr[i];
arr[i] = arr[x];
arr[x] = temp;
break;
}
else if (j == loopNumber - 1 && charBefore[loopNumber - 1] == charsAfter[loopNumber - 1]) {
if (charBefore.length > charsAfter.length) {
String temp = arr[i];
arr[i] = arr[x];
arr[x] = temp;
}
}
}
}
}
for (int t = 0; t <= arr.length - 1; t++) {
System.out.print(" " + arr[t]);
}
}
上述方法用了方法的重载可以直接用来将字符串或数组放入进行判断。