算法学习笔记——用Java实现冒泡排序

冒泡排序

先上我的代码:

public class Hello {

	public static void main(String[] args) {
		int myArray[]= {21,1,4,3,6,5,7,31,9,10};
		int temp; //临时变量
		for(int j=0;j<myArray.length;j++) {
			for(int i=0;i<myArray.length-1-j;i++) {
				if(myArray[i]>myArray[i+1]) {
					temp=myArray[i];
					myArray[i]=myArray[i+1];
					myArray[i+1]=temp;				
				}				
			}		
		System.out.println(myArray[j]);	 
		}
     }
}

接下来是我的理解:

冒泡排序:
该算法的核心是将无序的数组通过相邻的两个数,两两比较,得出升序序列或者降序序列。
编码思路:
分两个for循环完成,分为外循环和内循环,先讲内循环,内循环是第一轮循环用第一个元素与第二个进行比较,如果大,就和第二个元素进行位置调换,如果小,直接跳过;第二轮循环用第二个元素与第三个元素进行比较,跟上一轮同理,直至内循环结束,进入外循环。外循环是排序的次数,外循环每循环一次,内循环就会排出一个最大的数组元素放在数组最后的位置。—— i< myArray.length-1-j;意思是内循环数组元素两两对比次数比数组元素最大数小一,每外循环一次,就会排序出最大的数,下一次内循环不用对他进行比较,,所以是myArray.length-1-j。

最后说一下,我是一个学习Java开发的萌新,第一次发博客,写的比较简单,对于算法也是刚开始学,希望各位能够给我指出不足,谢谢。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值