MST
星途 面试题库

面试题:C++数组与模板结合应用

编写一个C++模板函数,该函数能够接收一个数组(可以是任意类型)和数组的大小作为参数,函数功能是对数组进行排序(可以使用任何你熟悉的排序算法),并返回排序后的数组。在主函数中分别使用整型数组和浮点型数组来调用这个模板函数并输出结果。
18.3万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试
#include <iostream>
#include <algorithm>

// 模板函数,对数组进行排序
template <typename T>
T* sortArray(T arr[], int size) {
    std::sort(arr, arr + size);
    return arr;
}

int main() {
    // 整型数组测试
    int intArr[] = {5, 3, 7, 1, 9};
    int intSize = sizeof(intArr) / sizeof(intArr[0]);
    int* sortedIntArr = sortArray(intArr, intSize);
    std::cout << "Sorted int array: ";
    for (int i = 0; i < intSize; ++i) {
        std::cout << sortedIntArr[i] << " ";
    }
    std::cout << std::endl;

    // 浮点型数组测试
    float floatArr[] = {5.5f, 3.2f, 7.1f, 1.9f, 9.4f};
    int floatSize = sizeof(floatArr) / sizeof(floatArr[0]);
    float* sortedFloatArr = sortArray(floatArr, floatSize);
    std::cout << "Sorted float array: ";
    for (int i = 0; i < floatSize; ++i) {
        std::cout << sortedFloatArr[i] << " ";
    }
    std::cout << std::endl;

    return 0;
}