import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.Scanner;
public class BubbleSort {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int[] a = new int[8];
for (int i = 0; i < 8; i++) {
a[i] = in.nextInt();
System.out.print(a[i]+" ");
}
bubbleSort(a);
}
// 将前面额冒泡排序算法,封装成一个方法
public static void bubbleSort(int[] arr) {
// 冒泡排序 的时间复杂度 O(n^2), 自己写出
int temp = 0; // 临时变量
int flag=1;
for (int i = 0; i < arr.length-1; i++)
{
for (int j = 0; j < arr.length-i-1; j++)
{
if (arr[j]>=arr[j+1]){
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
flag=0;
}
}
if (flag==1)
{
break;
}
System.out.println();
for (int j = 0; j < arr.length; j++) {
System.out.print(arr[j] + " ");
}
flag=1;
}
}
}

//冒泡排序(BubbleSort)
/*思想:
1.比较相邻的两个元素。如果第一个元素比第二个元素大(升序),就交换他俩
2.对每一对相邻元素做同样的工作,从开始第一对到结尾最后一对。这一步完成后最后的元素会是最大的数
3.针对所有元素重复以上步骤,每次都是除了最后i个
4.重复以上操作直至排序完成
*/
public static void bubbleSort(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;
}
}
}
System.out.println("冒泡排序结果:");
for (int i : arr) {
System.out.print(arr[i-1]+" ");
}
}