当前位置:首页 C++ > 正文

c++编写冒泡排序的函数模板。

作者:野牛程序员:2024-10-29 17:46:33 C++阅读 2467
c++编写冒泡排序的函数模板。

c++编写冒泡排序的函数模板。 

以下是一个 C++ 冒泡排序的函数模板,可以用于对任意类型的数组进行排序:

#include <iostream>

// 冒泡排序模板函数
template <typename T>
void bubbleSort(T arr[], int n) {
    for (int i = 0; i < n - 1; ++i) {
        for (int j = 0; j < n - 1 - i; ++j) {
            if (arr[j] > arr[j + 1]) {
                // 交换 arr[j] 和 arr[j + 1]
                T temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}

// 打印数组
template <typename T>
void printArray(T arr[], int n) {
    for (int i = 0; i < n; ++i) {
        std::cout << arr[i] << " ";
    }
    std::cout << std::endl;
}

int main() {
    int intArray[] = {64, 34, 25, 12, 22, 11, 90};
    int n = sizeof(intArray) / sizeof(intArray[0]);
    
    std::cout << "Original integer array: ";
    printArray(intArray, n);
    
    bubbleSort(intArray, n);
    std::cout << "Sorted integer array: ";
    printArray(intArray, n);

    double doubleArray[] = {64.5, 34.1, 25.3, 12.2, 22.4, 11.7, 90.0};
    int m = sizeof(doubleArray) / sizeof(doubleArray[0]);

    std::cout << "Original double array: ";
    printArray(doubleArray, m);
    
    bubbleSort(doubleArray, m);
    std::cout << "Sorted double array: ";
    printArray(doubleArray, m);

    return 0;
}

程序说明

  1. 冒泡排序模板函数 bubbleSort:

    • 使用 template <typename T> 声明模板函数,允许对任意类型的数组进行排序。

    • 外层循环控制排序的轮次,内层循环进行相邻元素的比较与交换。

  2. 打印数组函数 printArray:

    • 用于打印数组的元素。

  3. 主函数:

    • 创建一个整数数组和一个双精度浮点数数组,调用 bubbleSort 函数进行排序。

    • 在排序前后打印数组,以验证排序结果。

这个程序展示了如何使用模板函数来实现通用的冒泡排序功能,适用于不同类型的数组。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • c++
  • 最新推荐

    热门点击