C++ 函数模板案列 //利用函数模板封装一给排序的函数,对不同的数据类型进行排序 //排序规则从大到小 排序算法为选择排序 //分别用char 数组 和 int 数组进行测试
1 //函数模板案列 2 //利用函数模板封装一给排序的函数,对不同的数据类型进行排序 3 //排序规则从大到小 排序算法为选择排序 4 //分别用char 数组 和 int 数组进行测试 5 6 7 #include <iostream> 8 #include <string> 9 #include<fstream> 10 using namespace std; 11 //交换函数模板 12 template<typename T> 13 void mySwap(T& a, T& b) 14 { 15 T temp = a; 16 a = b; 17 b = temp; 18 } 19 20 21 //排序算法 22 template<typename T> 23 void mySort(T arr[],int len) 24 { 25 for (int i = 0; i < len ; i++) 26 { 27 int max = i; //认定最大值的下标 28 for (int j = i + 1; j < len; j++) 29 { 30 //认定的最大值 比 遍历出的数值 要小 31 //说明J 下标的元素才是真正的最大值 32 if (arr[max]< arr[j]) 33 { 34 max = j; //更新最大值下标 35 } 36 37 } 38 if (max != i) 39 { 40 //交换max和i元素 41 mySwap(arr[max], arr[i]); 42 } 43 } 44 } 45 //提供打印数组的模板 46 template <typename T> 47 void printArray(T arr[], int len) 48 { 49 for (int i = 0; i < len; i++) 50 { 51 cout << arr[i] << " "; 52 53 } 54 cout << endl; 55 } 56 void test01() 57 { 58 //测试char数组 59 char charArr[] = "badcfe"; 60 int num = sizeof(charArr)/sizeof(char); 61 mySort(charArr, num); 62 printArray(charArr, num); 63 64 } 65 void test02() 66 { 67 int intArr[] = { 1,5,22,3,6325,546,911,2222222,13 }; 68 int num = sizeof(intArr) / sizeof(int); 69 mySort(intArr, num); 70 printArray(intArr, num); 71 } 72 73 int main() 74 { 75 76 test01(); 77 test02(); 78 79 system("pause"); 80 81 return 0; 82 83 }
本文来自博客园,作者:Bytezero!,转载请注明原文链接:https://www.cnblogs.com/Bytezero/p/15131016.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)