需求:对数组[8,99,5,3,6,7,22]进行冒泡升序排序。
思路:相邻两元素比较,如果符合条件就换位。每次结束后确定最大值放在最后位置,在后几次排序不用管该位置。
/*
需求:对数组[8,99,5,3,6,7,22]进行冒泡排序。
思路:相邻两元素比较,如果符合条件就换位。每次结束后确定最大值放在最后位置,在后几次排序不用管该位置。
步骤:
1、定义冒泡排序子函数:
(1)用两个for循环选择数组元素;
(2)用if语句判断,交换元素。
2、定义打印子函数
3、主函数内定义数组并初始化,调用子函数
*/
public class BubbleSort {
static void PaiXu2(int [] arry)
{
for(int i=0;i<arry.length-1;i++)//确定比较次数
{
for(int j=0;j<arry.length-i-1;j++)//让每次比较元素减少
{
if (arry[j]>arry[j+1])
{
int temp =arry[j];
arry[j]=arry[j+1];
arry[j+1]=temp;
}
}
}
}
//定义打印函数
static void printarry(int [] arry)
{
System.out.print("[");
for(int i=0;i<arry.length;i++)
{
if (i!=arry.length-1)
System.out.print(arry[i]+",");
else
System.out.print(arry[i]+"]");
}
}
public static void main(String[] args)
{
//调用子函数
int [] arry= {8,123,6,7,122};
System.out.print("排序前的数组:");
printarry(arry);
PaiXu2(arry);
System.out.println();
System.out.print("排序后的数组:");
printarry(arry);
}
}
运行结果:
排序前的数组:[8,123,6,7,122]
排序后的数组:[6,7,8,122,123]