程序员

选择排序

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,1,22};
4和1比较 4>1 交换后 {1,31,4,22};
1和22比较 1<22 不交换 {1,31,4,22};

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

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

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

31和22比较 31>22 交换后{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; i++) {
            for (int j = i; j < numArr.length; j++) {   
                if (numArr[i] > numArr[j]) {
                    int temp = numArr[i];   
                    numArr[i] = numArr[j];
                    numArr[j] = temp;
                }
            }
        }
        return numArr;
    }
}

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

 1 4 22 31
上一篇 下一篇

猜你喜欢

热点阅读