冒泡排序----java实现

本文详细介绍了冒泡排序的思路、实现过程及优化方法,通过实例代码展示排序过程,并阐述了冒泡排序的时间复杂度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

冒泡排序思路:第1次:顺序比较从第0个到第len个(相邻两个)元素并把大的放后面,第一次进行完后,最大                                         的元素会在最后;

                           第2次:顺序比较从第0个到第len-1个相邻两个),因为最大的已经定位置了,不需要参与比                                          较,即只需要循环len-2次,这样倒数第二大的就定在了倒数第二个位置。。。。

package com.sheepmu.text;

import java.util.Arrays;
import java.util.Comparator;
  /*   
  * @author sheepmu
  */ 
public class Sort {
	 public static void main(String[] args){
		 int[] arr={38,5,19,26,49,97,1,66};
		  
		 bubbleSort(arr);
 
	 }	 	 
	 public static  void bubbleSort(int[] arr){
		 System.out.println("原来顺序----->"+Arrays.toString(arr));
		 int len=arr.length;
		 int flag=1;
		 int temp=0;
		 for(int n=1;n<len&&flag==1;n++){//n表示次数
			 flag=0;
			 for(int i=0;i<len-n;i++){//第一次时,循环进行len-1次,把最大的放到了最后。第2次时,把最大的2个放到了最后,只需要循环前len-2个就行咯。
				 if(arr[i]>arr[i+1]){
					 flag=1;//表示还有元素的移动。
					 temp=arr[i+1];
					 arr[i+1]=arr[i];
					 arr[i]=temp;
				 }		 
			 }
			 System.out.println("第"+n+"次排序----->"+Arrays.toString(arr));
		 }
	 }
}	 
 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值