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 数组进行测试的更多相关文章
- C# string数组转int数组(转载)
C# string数组转int数组 用法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 //字符串数组(源数组) string[] sNums = new[] {"1 ...
- C#List转字符串,字符串转List,字符数组转Int数组
List转字符串 [C#] 纯文本查看 复制代码 ? 01 02 List<string> List = new List<string>(); string strArray ...
- C# string数组转int数组
用法 //字符串数组(源数组) string[] sNums = new[] {"1", "2"}; //整型数组(目标数组) int[] iNums; //转 ...
- string 数组转 int 数组
用法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 //字符串数组(源数组) string[] sNums = new[] {"1", "2" ...
- int数组转string数组和int数组转string中间用逗号隔开
//int 数组转string数组 ,,,}; string result=test.Select(i => i.ToString()).ToArray(); //int 数组转 string中 ...
- 【转】C# string数组转int数组
//字符串数组(源数组) string[] sNums = new[] {"1", "2"}; //整型数组(目标数组) int[] iNums; //转换方法 ...
- String数组转int数组
假设我们有一个字符串数组: String[] strings = {"1", "2", "3"}; 使用Lambda表达式(自Java 8起 ...
- c#中如何将一个string数组转换为int数组
举个例子. string[] strArray = "a,b,c,d,e,f,g".Split(new char[]{ ',' }); int[] intArray; //C# 3 ...
- C# 将一个string数组转换为int数组
int[] channelCIdArr = Array.ConvertAll(channelIdStr.Split(','),s=>int.Parse(s));
- C语言之实现函数返回一个数组,以及选择排序,还有折半查找。这是同学的一个作业。。。
作业的具体要求如下: 编写一个完整的程序,实现如下功能.(1) 输入10个无序的整数.(2) 用选择排序法将以上接收的10个无序整数按从大到小的顺序排序.(3) 要求任意输入一个整数 ...
随机推荐
- golang: 学会几个语法上的新写法
看了VictoriaMetrics,学会了几个新写法,记录下来: 1. 数组拷贝 以前: arr := make([]byte, 0, len(oldArr) arr = append(arr, ol ...
- 小白学k8s(3)什么是内网穿透
什么是内网穿透 内网穿透 工作方式 通信的一方处于内网 通信的双方都处于内网 NAT穿透的原理 UDP内网穿透的实现流程 参考 什么是内网穿透 内网穿透 什么是内网穿透呢? 百度百科的描述 内网穿透, ...
- 9.9 Windows驱动开发:内核远程线程实现DLL注入
在笔者上一篇文章<内核RIP劫持实现DLL注入>介绍了通过劫持RIP指针控制程序执行流实现插入DLL的目的,本章将继续探索全新的注入方式,通过NtCreateThreadEx这个内核函数实 ...
- WebAssembly核心编程[1]:wasm模块实例化的N种方式
当我们在一个Web应用中使用WebAssembly,最终的目的要么是执行wasm模块的入口程序(通过start指令指定的函数),要么是调用其导出的函数,这一切的前提需要创建一个通过WebAssembl ...
- ubuntu16.04编译安装nginx1.24.0
环境: Distributor ID: Ubuntu Description: Ubuntu 16.04.7 LTS Release: 16.04 Codename: xenial 安装包: pcre ...
- 编译Assimp时出现“warning C4819”的解决方案
最近又重新捣鼓起了OpenGL, 使用Assimp库加载3D模型,最新(2023/12/9)的版本是5.3.1. 使用cmake编译本是一件简单的事情: cmake . cmake --build ...
- 关于19c RU补丁报错问题的分析处理
本文演示关于19c RU补丁常见报错问题的分析处理: 1.查看补丁应用失败的原因 2.问题解决后可继续应用补丁 3.发现DB的RU补丁未更新 4.opatchauto应用DB补丁报错解决 1.查看补丁 ...
- 如何使用Ghost对UEFI+GPT+WIN10进行备份还原?
以前BIOS兼容模式下用MBR分区表来备份还原系统使用Ghost很轻松就可以完成系统还原和备份,对于新版BIOS及支持GPT+UEFI快速启动的系统来说又应该如何备份还原呢?答案依旧是Ghost,只不 ...
- Python-集合的基本操作(set)
1. 前言 python中的集合和数学里的类似也是用于存放不重复的元素,它有可变集合(set)和不可变集合(feozenset)两种,集合的所有元素都放在一对大括号"{}"里(列表 ...
- logging --- Python 的日志记录工具
logging --- Python 的日志记录工具 源代码: Lib/logging/__init__.py Important 此页面仅包含 API 参考信息.教程信息和更多高级用法的讨论,请参阅 ...