程序员

冒泡排序

2017-05-09  本文已影响0人  许佩利翁

作为一个<strong>iOS</strong>开发人员,最近自学Java,温习一下基本的排序方法,发现写出来还挺费劲的,已经是一条废🐶了。

简介:

<strong>冒泡排序</strong>, 最简单的排序之一,原理就是比较临近的两个元素,大的向后小的向前,把大的交换到右端。

<strong>举例说明:</strong>
现在有一个数组:   int[] numArr = {4,31,1,22};

<strong>第一次比较如下:</strong>

4和31比较 4<31 交换后 {4,31,22,1}; 
31和22比较 31>22 交换后 {4,22,31,1};
31和1比较 31>1 交换后 {4,22,1,31};

<strong>第二次比较如下:</strong>

4和22比较 4<22 不交换 {4,22,1,31};
22和1比较 22>1 交换后 {4,1,22,31};

<strong>第三次比较如下:</strong>

4和1比较 4>1 交换后 {1,4,22,31};

<strong>具体代码如下:</strong>

public class Sort {
    public static void main(String[] args) {
        int[] numArr = {4,31,22,1};
        sortMethod(numArr);
        for (int element : numArr) {
            System.out.print(" "+ element);
        }       
    }
    
    static int[] sortMethod(int[] numArr) {
        for (int i = 0; i < numArr.length-1; i++) {
            for (int j = 0; j < numArr.length-1-i; j++) {               
                if (numArr[j] > numArr[j+1]) {
                    int temp = numArr[j];
                    numArr[j] = numArr[j+1];
                    numArr[j+1] = temp;
                }
            }
        }
        return numArr;
    }
}

<strong>命令台输出如下:</strong>

 1 4 22 31
上一篇下一篇

猜你喜欢

热点阅读