package com.carlinfo.array;
/**
* 冒泡排序
* ~定义一个无序的整数数组;循环打印
* ~排序
* 每两个比一次
* 交换:必须找第三个坑
* ~重构:将重复的代码封装成一个方法
* @author WangshMac
*/
public class SortMain
{
public static void main(String[] args)
{
int[] arr1 = {20,10,15,30} ;
/* [I@7852e922 */
System.out.println("=arr1:toString==>" + arr1);
/* 调用方法 */
SortMain.loop(arr1);
/* 排序
* 每一个坑都要和所有的坑比一遍
*
* 第一行: 1
* 第二行: 2
* 第三行: 3
* */
for(int i = 0 ; i < arr1.length ; i ++)
{
for(int j = i + 1 ; j < arr1.length ; j ++)
{
//System.out.println(i + "=="+ j +"==>排序==>" + arr1[i] + "--->" + arr1[j]);
//System.out.print("*");
/* 第一个坑和第二个坑 */
if(arr1[i] < arr1[j])
{
/* temp和arr1[i]相等*/
int temp = arr1[i] ;
/* 放心把i的值给覆盖掉 */
arr1[i] = arr1[j] ;
/* 放心把j的值给覆盖掉 */
arr1[j] = temp ;
}
}
//System.out.println();
}
System.out.println("=====");
/* 调用方法 */
SortMain.loop(arr1);
}
/**
* 参数怎么可能是数组呢?
* @param arr1
*/
public static void loop(int[] arr1)
{
/* 循环数组 */
for(int i = 0 ; i < arr1.length ; i ++)
{
System.out.println(i + "==循环==>" + arr1[i]);
}
}
}