> For the complete documentation index, see [llms.txt](https://jiek.gitbook.io/sorting-algorithm/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jiek.gitbook.io/sorting-algorithm/liu-hang-pai-xu-suan-fa-popular-sorting-algorithms/jian-dan-pai-xu-simple-sorts/selection_sort.md).

# 选择排序 Selection sort

## Selection sort选择排序

@See <https://en.wikipedia.org/wiki/Selection_sort> @See <https://github.com/jiek2529/java_algorithm> - SelectionSort

![](https://2531019738-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M6gnm_fO-nBQv_cernA%2Fsync%2Fb441c4ebcc3a3433e912c5b0b40be140c89e88ad.gif?generation=1588815964619549\&alt=media)

### principle原理

从列表第一位开始向高位进行排序 向后查询，找到比当前值小的最小值与当前值置换 双for循环推进排序

## example示例

```java
public void sort(int[] list) {
        for(int i = 0; i<list.length-1; i++){
            int min = i;
            //find min
            for(int j = i+1; j<list.length ;j++){
                if(list[j] <list[min]){
                    min = j;
                }
            }
            //swap the min with the ith element
            swap(list, min, i);
        }
    }
```
