C++ 函数模板案列 //利用函数模板封装一给排序的函数,对不同的数据类型进行排序 //排序规则从大到小 排序算法为选择排序 //分别用char 数组 和 int 数组进行测试
2021/8/12 9:06:43
本文主要是介绍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 }
这篇关于C++ 函数模板案列 //利用函数模板封装一给排序的函数,对不同的数据类型进行排序 //排序规则从大到小 排序算法为选择排序 //分别用char 数组 和 int 数组进行测试的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-29uni-app 中使用 Vant Weapp,怎么安装和配置npm ?-icode9专业技术文章分享
- 2024-12-27Nacos多环境配置学习入门
- 2024-12-27Nacos快速入门学习入门
- 2024-12-27Nacos快速入门学习入门
- 2024-12-27Nacos配置中心学习入门指南
- 2024-12-27Nacos配置中心学习入门
- 2024-12-27Nacos做项目隔离学习入门
- 2024-12-27Nacos做项目隔离学习入门
- 2024-12-27Nacos初识学习入门:轻松掌握服务发现与配置管理
- 2024-12-27Nacos初识学习入门:轻松掌握Nacos基础操作