MST

星途 面试题库

面试题:C++ 实现选择排序算法

请用C++ 编写一个函数,实现选择排序算法。函数接受一个整数数组和数组的长度作为参数,对数组进行原地排序,并返回排序后的数组。
21.5万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试
#include <iostream>

// 选择排序函数
int* selectionSort(int arr[], int n) {
    for (int i = 0; i < n - 1; i++) {
        int minIndex = i;
        for (int j = i + 1; j < n; j++) {
            if (arr[j] < arr[minIndex]) {
                minIndex = j;
            }
        }
        // 交换 arr[i] 和 arr[minIndex]
        int temp = arr[i];
        arr[i] = arr[minIndex];
        arr[minIndex] = temp;
    }
    return arr;
}

你可以这样调用这个函数:

int main() {
    int arr[] = {64, 25, 12, 22, 11};
    int n = sizeof(arr) / sizeof(arr[0]);
    int* sortedArr = selectionSort(arr, n);
    for (int i = 0; i < n; i++) {
        std::cout << sortedArr[i] << " ";
    }
    return 0;
}