java_冒泡排序

学习java,开始写博客! 主要是为了方便以后复习,同时给一些学习的同学参考,我会尽量认真写很多注释,希望大家能多留言支持下我!

第一章:冒泡排序

作用:将一个数组进行升降排序。

原理:定义一个数组,运用for循环,将数组中的第一个元素和第二个元素进行比较大小调换,将较大的元素放在第二给元素。循环比较第二个元素和第三个元素、第三个元素和第四个元素、、、、、、。这样的话最后的一个元素就一定是最大了。如下:

	public static void main(String[] args){
		 int[] arr={5,2,6,3,5,8,2};   
		 for(int i=0;i<arr.length-1;i++){
			 if(arr[i]>arr[i+1]){      //比较大小   将较大的值赋值后面的元素
				 int temp=arr[i]; 
				 arr[i]=arr[i+1];
				 arr[i+1]=temp; 
			 }
		 }
		 System.out.println(arr[arr.length-1]);//输出最后的元素 也就是最大的一个元素
	}
	

这个样子的话第一步就完成了;


接着我们只需要循环知道数组中有多少个元素,然后每循环一次将剩余中最大的排序到最后面,整个数组冒泡排序就完成了。如下:

	public static void main(String[] args){
		 int[] arr={5,2,6,3,5,8,2};  
		 for(int j=0;j<arr.length-1;j++){
			 for(int i=0;i<arr.length-1-j;i++){//循环中 arr.length-1-j减j是将已经排序好的元素就不去比较了,不减也是可以的
				 if(arr[i]>arr[i+1]){//比较大小   
					 int temp=arr[i]; 
					 arr[i]=arr[i+1];
					 arr[i+1]=temp; 
				 }
			 }
		 }
		 for(int a:arr){
		 System.out.print(a+" ");//输出所以元素 
		 };
	}

好了这样整个冒泡循环就完成了。


最后感兴趣的可以试下交换2个值 可以使用运算符 异或“^”  如下:

				 if(arr[i]>arr[i+1]){//比较大小   
					 arr[i] ^= arr[i+1];
					 arr[i+1] ^= arr[i];
					 arr[i] ^= arr[i+1];
				 }
结果中2个值交换了。





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值