冒泡排序:在一趟趟的两两对比中把逆序的元素进行交换,每次都是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,是不会再交换的;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并没有改变,所以冒泡排序是一种稳定排序算法,每一趟至少确立一个值的最终位置,因为这种形式就像水下的气泡,大气泡总是会往上冒头。
public class Main
{
public static void main(String[] args) {
int[] arr={11,23,40,13};
System.out.println("排序前的数组:");
printarr(arr);
System.out.println("排序后的数组:");
maopao(arr);
printarr(arr);
}
public static int[] maopao(int[] arr){
int temp=0;
for(int i=0;i<arr.length;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;
}
}
}
return arr;
}
public static int[] printarr(int[] arr){
for(int i=0;i<=arr.length-1;i++){
if(i==0){
System.out.println("["+arr[0]+",");
}
else if(i==arr.length-1){
System.out.println(arr[arr.length-1]+"]");
}
else{
System.out.println(arr[i]+",");
}
}
System.out.println();
return arr;
}
}