博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

选择排序

Posted on 2025-03-31 19:45  steve.z  阅读(23)  评论(0)    收藏  举报

伪代码:
A: 数组名
n: 数组长度

SELECTION-SORT(A, n)
    for i = 0 to n-2
        min_idx = i
        for j = i+1 to n-1
            if A[j] < A[min_idx]
                min_idx = j
        if min_idx != i
            swap A[i] with A[min_idx]

// C 语言实现
void selectionSort(int A[], int n) {
    for (int i = 0; i < n - 1; i++) {
        int min_index = i;
        for (int j = i + 1; j < n; j++) {
            if (A[j] < A[min_index]) {
                min_index = j;
            }
        }
        if (min_index != i) {
            int t = A[min_index];
            A[min_index] = A[i];
            A[i] = t;
        }
    }
}