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) 要求任意输入一个整数 ...
随机推荐
- Jekyll安装
本文来自Jekyll官方文档. 简介 Jekyll是一个静态网站生成器,它可以把Markdown写就的文本根据指定的布局生成静态网站.你可以调整网站的外观.URL.页面展示数据等信息. 准备工作 Je ...
- tortoisesvn中看到的版本号和svn info不一致
tortoisesvn中看到的版本号和svn info不一致 在svn命令行中通过svn info命令获得的版本号与tortoisesvn中show log看到的不一样,原因是在小乌龟中可以只更新具体 ...
- ChatGPT 中,G、P、T 分别是什么意思?
流行的技术名词按发音难度排序,ChatGPT 肯定排在前面. 到底它为什么叫做 ChatGPT 呢? 先说 GPT:Generative Pre-Training Transformer Genera ...
- TienChin 渠道管理-工程创建
因为本文章主要围绕着项目开发进行,所以前言不做开头,直接上内容. 添加字段 我们的渠道表,我看到若依脚手架当中有一个是否删除的标志字段,所以我这里也添加一下: ALTER TABLE `tienchi ...
- 【七】强化学习、gym学习平台扩充,更好的玩转虚拟环境,关于mujoco、mujoco-py、baselines安装配置
相关文章: [一]gym环境安装以及安装遇到的错误解决 [二]gym初次入门一学就会-简明教程 [三]gym简单画图 [四]gym搭建自己的环境,全网最详细版本,3分钟你就学会了! [五]gym搭建自 ...
- Ubuntu ISO镜像文件下载(Ubuntu 22.04.2 LTS)
Ubuntu 22.04.2 LTS 链接:https://pan.baidu.com/s/1YuWSOBH9mTZMjJTW7HM91g 提取码:b8lf
- 【STL源码剖析】stack_queue底层模拟实现 | 什么是适配器?【超详细的底层注释和解释】
今天博主继续带来STL源码剖析专栏的第四篇博客了! 今天带来stack和queue的模拟实现!话不多说,直接进入我们今天的内容! 前言 那么这里博主先安利一下一些干货满满的专栏啦! 手撕数据结构htt ...
- 【Linux】虚拟机太卡咋办?用云服务器Xshell配置Vmware虚拟机【技能篇】
[Linux]用云服务器Xshell配置Vmware虚拟机[技能篇] 强烈建议本篇收藏后再食用~ 文章目录 Xshell下载 配置Vmware 尾声 平时我们使用虚拟机,可能最烦人的问题就是卡顿了.今 ...
- .NET Core开发实战(第3课:.NET Core的现状、未来以及环境搭建)--学习笔记
03 | .NET Core的现状.未来以及环境搭建 .NET Core的现状 .NET Core 的应用场景:桌面端.Web端.云端.移动端.游戏.IOT 和 AI 云端指的是 .NET Core ...
- Kafka-如何重设消费者位移(重设OFFSET)
1. 为什么要重设消费者组位移? 我们知道,Kafka 和传统的消息引擎在设计上是有很大区别的,其中一个比较显著的区别就是,Kafka 的消费者读取消息是可以重演的(replayable). 像 Ra ...