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) 要求任意输入一个整数 ...
随机推荐
- 基于Basic auth 的一个C# 示例
最近在做公司的一个项目时,客户需要我们定时获取他们矩阵系统的数据.在与客户进行对接时,提到他们的接口使用的目前不常用的BASIC 认证.天呢,它好不安全,容易被不法人监听,咋还在使用呀.但是没办法呀, ...
- windows应用程序icon缓存、查看图标、icon制作方法
windows程序图标缓存 在vs中替换c++程序的图标后,需要重新编译,但是很多情况下都不会刷新,还是看到老的图标,只能重启电脑才能看到新的图标. 通过ChatGPT得到相关的回答如下: 如果在 W ...
- vs版本与version(内部版本号)的关系表table
为什么要查vs版本与内部verion的对应关系? 因为c++的项目需要对应的vs版本,给大型的c++项目升级vs版本是个耗时的工程,所以一般情况下开发者都会安装多个版本的vs. 对于sln文件,以文本 ...
- go中的类型转换成interface之后如何复原
go中interface转换成原来的类型 首先了解下interface 什么是interface? 如何判断interface变量存储的是哪种类型 fmt 反射 断言 来看下interface的底层源 ...
- Spring WebSocket实现实时通信的详细教程
简介 WebSocket 是基于TCP/IP协议,独立于HTTP协议的通信协议.WebSocket 连接允许客户端和服务器之间的全双工通信,以便任何一方都可以通过已建立的连接将数据推送到另一方. 我们 ...
- Linux 系统Apache配置SSL证书
在Centos7系列系统下,配置Apache服务器,给服务器增加SSL证书功能,让页面访问是不再提示不安全,具体操作流程如下. 1.第一步首先需要安装mod_ssl模块,执行yum install - ...
- layui表格中关键字加粗加红显示
使layui表格中根据关键词进行加红加粗显示,先看效果 前台代码 <script tab="table处理及事件"> var table = layui.table; ...
- 如何修改OSW图表中显示的主机名称
本次测试的OSW版本:831 有人可能会说这种需求是吃饱了撑的吗,谁没事儿改这个名称干嘛啊? 其实并不是,因为有些生产案例非常典型,分享讲解时也需要配合OSW的趋势图来展示,但是出于保护客户隐私(哪怕 ...
- Delphi-判断一个对象是否释放,改造官方的Assigned
直接上例子了,基础知识自己去了解,首先定义一个类: TPerson = class public name: string; age: Integer; constructor Create(name ...
- 从零开始的react入门教程(十一),react ref 详解,三种写法与 ref 转发(传递)
壹 ❀ 引 在前面的文章中,我们介绍了react的状态提升,随之引出了redux以及context,其实都说到底都是为了方便管理react的状态,让数据交互与组件通信变得更为简单.我们知道,react ...