冒泡排序

冒泡排序:重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序完成。

现在给定一个整数数组,请用冒泡排序算法对该数组进行排序。
输入、输出描述
输入:
a:待排非空整数数组
输出:
排序后的数组
Example
输入:
a=[3,1,4,2]
输出:
[1,2,3,4]
代码:
import java.util.*;

public class Main {

     public static void main(String[] args) {
 
        int[] a = new int[]{2, 9, 6, 3, 7, 4};
        int[] result = new Main().solution(a);
        System.out.println(Arrays.toString(result));
 
    }

 public int[] solution(int[] a) {

  int n = a.length;
        boolean isChanged;
        int tmp;
        for (int i = 0; i < n; i++) {
            isChanged = false;
            for (int j = 1; j < n - i; j++) {
 
                if (a[j - 1] > a[j]) {
                    tmp = a[j];
                    a[j] = a[j - 1];
                    a[j - 1] = tmp;
                    isChanged = true;
                }
 
            }
            if (!isChanged) {
                break;
            }
        }
 
        return a;
    }
}
一个创业中的苦逼程序员
评论专区

隐藏