JAVA入门之冒泡排序

/**

需求: 定义一个int类型的数组,并对数组当中的元素进行排序,最后遍历输出元素。
技能: 排序算法----冒泡排序。

1.冒泡排序
数组当中前后两个值进行比较,小的数值向上浮,数值比较大的向下沉!
2.定义一个数组
int[] arr = {45,33,58,48,79,22,57,54};
3.实现思路
1 创建数组—静态创建方式,而且要遍历一次
2 怎么让数组当中相邻的两个数进行比较呢?
可以使用嵌套for循环
问题1: 外层for循环控制循环次数
问题2: 内层for循环控制相邻的两个元素进行比较
3 在内层for循环中,再嵌套一个if判断语句—目的:如果前一个元素大于后一个元素,则进行换位操作
4 在循环到某次的时候,可能已经达到数组元素是有序的了,后续的循环次数可以省略。

*/

 class  ArrayTest{
 public static void main(String[] args){
    //创建数组
    int[] arr = {45,33,58,48,79,22,57,54};
    //排序之前,遍历数组
    System.out.println("排序之前:"+java.util.Arrays.toString(arr));
    //嵌套for循环
    //外层for循环控制循环次数
    for(int i=0;i<arr.length;i++){
         //内层for循环控制相邻的两个元素进行比较
         for(int j=0;j<arr.length-1-i;j++){
              //在内层for循环中,再嵌套一个if判断语句
              if(arr[j]>arr[j+1]){
                  //如果条件满足,则进行换位操作
                  int temp =arr[j+1];
                  arr[j+1]=arr[j];
                  arr[j]=temp;
              }
         }
		  //每一次循环,排序的结果
		  System.out.println("第"+(i+1)+"次循环排序的结果");
		  for(int k=0;k<arr.length;k++){
			  System.out.print(arr[k]+"\t");
		  }
	}
	//输出结果
	//排序之后,遍历数组
	System.out.println("排序之后:"+java.util.Arrays.toString(arr));
}

}
输出结果:
---------- java运行 ----------
排序之前:[45, 33, 58, 48, 79, 22, 57, 54]
第1次循环排序的结果
33 45 48 58 22 57 54 79 第2次循环排序的结果
33 45 48 22 57 54 58 79 第3次循环排序的结果
33 45 22 48 54 57 58 79 第4次循环排序的结果
33 22 45 48 54 57 58 79 第5次循环排序的结果
22 33 45 48 54 57 58 79 第6次循环排序的结果
22 33 45 48 54 57 58 79 第7次循环排序的结果
22 33 45 48 54 57 58 79 第8次循环排序的结果
22 33 45 48 54 57 58 79 排序之后:[22, 33, 45, 48, 54, 57, 58, 79]

输出完成 (耗时 0 秒) - 正常终止

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值