首先创建一个长度是5的数组,并填充随机数。 (向数组填充随机数的办法,参考这里)
首先用选择法正排序,然后再对其使用冒泡法倒排序
注 所谓的正排序就是从小到大排序,倒排序就是从大到小排序
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;
public class Demo03 {
/*首先创建一个长度是5的数组,并填充随机数。 (向数组填充随机数的办法,参考这里)
首先用选择法正排序,然后再对其使用冒泡法倒排序
注 所谓的正排序就是从小到大排序,倒排序就是从大到小排序
*/
public static void main(String[] args) {
int [] arr = new int [5];
Random random = new Random();
for (int i = 0; i < arr.length; i++) {
arr [i] = random.nextInt(100);
}
System.out.println("生成的随机数为:"+Arrays.toString(arr));
for (int i = 0; i < arr.length; i++) {
int index = i;
for (int j = i + 1; j < arr.length; j++) {
if (arr [j] < arr [index]) {
index = j;
}
}
if (index != i) {
arr [i] = arr [i] ^ arr [index];
arr [index] = arr [i] ^ arr [index];
arr [i] = arr [i] ^ arr [index];
}
}
System.out.println("使用选择正排序得出的数组为:"+Arrays.toString(arr));
for (int i = 0; i < arr.length; i++) {
boolean b = true;
for (int j = 0; j < arr.length - i - 1; j++) {
if (arr [j] < arr [j + 1]) {
arr [j] = arr [j] ^ arr [j + 1];
arr [j + 1] = arr [j] ^ arr [j + 1];
arr [j] = arr [j] ^ arr [j + 1];
b = false;
}
}
if (b) {
break;
}
}
System.out.println("使用冒泡排序得出的数组为:"+Arrays.toString(arr));
}
}