c++编写冒泡排序的函数模板。
作者:野牛程序员:2024-10-29 17:46:33 C++阅读 2520
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;
}程序说明
冒泡排序模板函数
bubbleSort:使用
template <typename T>声明模板函数,允许对任意类型的数组进行排序。外层循环控制排序的轮次,内层循环进行相邻元素的比较与交换。
打印数组函数
printArray:用于打印数组的元素。
主函数:
创建一个整数数组和一个双精度浮点数数组,调用
bubbleSort函数进行排序。在排序前后打印数组,以验证排序结果。
这个程序展示了如何使用模板函数来实现通用的冒泡排序功能,适用于不同类型的数组。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

