0
点赞
收藏
分享

微信扫一扫

【java】冒泡Bubble算法


冒泡Bubble算法 

面试中很常被考到的一道题,就是冒泡排序,可以说是非常经典了

参考网上一组图

下面以一群身高不等的学生为例,如下图所示:

  • 未排序的学生

【java】冒泡Bubble算法_i++

  • 已排序的学生

【java】冒泡Bubble算法_BubbleSort_02

  • 冒泡排序第一轮实现过程

【java】冒泡Bubble算法_冒泡排序_03

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];
}
}
}
}

}

}

 

 

------------------------------------------------

【java】冒泡Bubble算法_BubbleSort_04

 

 

举报

相关推荐

0 条评论