冒泡Bubble算法
微信公众号:程序yuan
关注可获得更多干货和视频教程哦。问题或建议,请公众号留言;
面试中很常被考到的一道题,就是冒泡排序,可以说是非常经典了
参考网上一组图
下面以一群身高不等的学生为例,如下图所示:
- 未排序的学生
- 已排序的学生
- 冒泡排序第一轮实现过程
Java 代码实现
import org.junit.Test;
import java.util.Arrays;
/**
* @Author : ouYang
* @Date : 2018/10/12
* @Time : 11:55
* @Annotation :
*/
public class BubbleSort {
@Test
public void testBubbleSort(){
int [] arr = {1,5,2,67,8,62,432,2,7,3,8};
bubbleSort(arr,"desc");
System.out.println(Arrays.toString(arr));
}
//冒泡排序算法
public void bubbleSort(int [] arr,String type){
if("asc".equalsIgnoreCase(type)){
for(int i = 0; i < arr.length-1; i++){
for(int j = 0; j < arr.length-i-1; j++){
if(arr[j]>arr[j+1]){
arr[j] = arr[j] + arr[j+1];
arr[j+1] = arr[j] - arr[j+1];
arr[j] = arr[j] - arr[j+1];
}
}
}
}else if("desc".equalsIgnoreCase(type)){
for(int i = 0; i < arr.length-1; i++){
for(int j = 0; j < arr.length-i-1; j++){
if(arr[j]<arr[j+1]){
arr[j] = arr[j] + arr[j+1];
arr[j+1] = arr[j] - arr[j+1];
arr[j] = arr[j] - arr[j+1];
}
}
}
}
}
}
------------------------------------------------
关注小编微信公众号获取更多资源
标签:arr,java,int,冒泡排序,++,length,冒泡,Bubble,public From: https://blog.51cto.com/u_12131813/6002828