import java.util.Random;
/**
* @author yy
* @date 2022.6.26
* @description 这是第八章的例子
*/
public class testjava8_1 {
public static void main(String[] args) {
int[] a= {25,24,12,76,98,101,90,28};
//打印原数组
System.out.println("排序前数组a的元素为:");
for (int i = 0; i < a.length; i++) {
System.out.print("a["+i+"]="+a[i]+" ");
}
//冒泡排序
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a.length; j++) {
if (j==a.length-1)
break;
//将当前下标的数组值与后一个下标的数组值进行比较,若后一个更小,则替换
if (a[j]>a[j+1]) {
int t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
//打印
System.out.println("\n排序后数组a的元素为:");
for (int i = 0; i < a.length; i++) {
System.out.print("a["+i+"]="+a[i]+" ");
}
System.out.print("\n\n");
//打印原数组
System.out.println("乱序前数组a的元素为:");
for (int i = 0; i < a.length; i++) {
System.out.print("a["+i+"]="+a[i]+" ");
}
//乱序输出
Random rand=new Random();
for (int i = 0; i < a.length; i++) {
//输出随机下标
int flag=rand.nextInt(a.length);
//将当前循环下标的数组值与随机下标的数组值进行交换
int t=a[i];
a[i]=a[flag];
a[flag]=t;
}
//打印
System.out.println("\n乱序后数组a的元素为:");
for (int i = 0; i < a.length; i++) {
System.out.print("a["+i+"]="+a[i]+" ");
}
}
}
结果如图所示: