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 数组进行测试的更多相关文章

  1. C# string数组转int数组(转载)

    C# string数组转int数组   用法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 //字符串数组(源数组) string[] sNums = new[] {"1 ...

  2. C#List转字符串,字符串转List,字符数组转Int数组

    List转字符串 [C#] 纯文本查看 复制代码 ? 01 02 List<string> List = new List<string>(); string strArray ...

  3. C# string数组转int数组

    用法 //字符串数组(源数组) string[] sNums = new[] {"1", "2"}; //整型数组(目标数组) int[] iNums; //转 ...

  4. string 数组转 int 数组

    用法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 //字符串数组(源数组) string[] sNums = new[] {"1", "2" ...

  5. int数组转string数组和int数组转string中间用逗号隔开

    //int 数组转string数组 ,,,}; string result=test.Select(i => i.ToString()).ToArray(); //int 数组转 string中 ...

  6. 【转】C# string数组转int数组

    //字符串数组(源数组) string[] sNums = new[] {"1", "2"}; //整型数组(目标数组) int[] iNums; //转换方法 ...

  7. String数组转int数组

    假设我们有一个字符串数组: String[] strings = {"1", "2", "3"}; 使用Lambda表达式(自Java 8起 ...

  8. c#中如何将一个string数组转换为int数组

    举个例子. string[] strArray = "a,b,c,d,e,f,g".Split(new char[]{ ',' }); int[] intArray; //C# 3 ...

  9. C# 将一个string数组转换为int数组

    int[] channelCIdArr = Array.ConvertAll(channelIdStr.Split(','),s=>int.Parse(s));

  10. C语言之实现函数返回一个数组,以及选择排序,还有折半查找。这是同学的一个作业。。。

    作业的具体要求如下: 编写一个完整的程序,实现如下功能.(1)    输入10个无序的整数.(2)    用选择排序法将以上接收的10个无序整数按从大到小的顺序排序.(3)    要求任意输入一个整数 ...

随机推荐

  1. 如何减缓vm中慢插入的次数

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 偶然发现vm-storage的监控里有这样一个指标:vm_ ...

  2. 【JS 逆向百例】无限debugger绕过,某政民互动数据逆向

    声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 逆向目标 目标:某政务服务 ...

  3. Linux慢 进程kswapd0与events/0消耗大量CPU的问题 一次网站宕机的处理

    今天下午网站宕了两次机,发工单给阿里云,发现原因是服务器的CPU 100%了. 重启服务器后,使用 top 命令看看是哪些进程消耗那么大的 CPU 使用.盯了有好十几分钟,主要消耗 CPU 的进程有两 ...

  4. ABP vNext系列文章10---分布式事务集成netcore.Cap

    最近项目中要用到分布式事务功能,调研了DTM和Cap,最终确定用Cap来实现,Cap支持最终一致性,项目中采用MQ作为消息中间件,数据库用的mysql,集成步骤如下: 1.在需要发布消息的服务中引入如 ...

  5. 基于50W携程出行攻略构建事件图谱(含码源):交通工具子图谱、订酒店吃饭事件图谱等

    基于50W携程出行攻略构建事件图谱(含码源):交通工具子图谱.订酒店吃饭事件图谱等 项目构成 本项目由两个部分的组成,具体包括语料的获取以及基于语料的事件挖掘两个部分,具体项目目录包括: news_s ...

  6. 【7】python_matplotlib 输出(保存)矢量图方法;画图时图例说明(legend)放到图像外侧;Python_matplotlib图例放在外侧保存时显示不完整问题解决

    1.python_matplotlib 输出(保存)矢量图方法 用python的matplotlib画出的图,一般是需要保存到本地使用的.如果是用show()展出的图,再右键保存,这样的图是失帧而非矢 ...

  7. 6.4 Windows驱动开发:内核枚举DpcTimer定时器

    在操作系统内核中,DPC(Deferred Procedure Call)是一种延迟执行的过程调用机制,用于在中断服务例程(ISR)的上下文之外执行一些工作.DPC定时器是基于DPC机制的一种定时执行 ...

  8. .NetCore 三种生命周期注入方式

    .NetCore彻底诠释了"万物皆可注入"这句话的含义,在.NetCore中到处可见注入的使用.因此core中也提供了三种注入方式的使用,分别是: AddTransient:每次请 ...

  9. Tauri VS. Electron - 真实项目的比较

    文章翻译自:Tauri VS. Electron - Real world application 以下是正文: 在这篇文章中我将会用真实的项目来比较 Electron 和 Tauri: Authme ...

  10. Visual Basic 6的安装与辅助插件 - 初学者系列 - 学习者系列文章

    好久没玩VB6了,今天无聊,就把原来的VB6相关的代码翻了出来,然后上了VMWare虚拟机,把VB6安装上,然后把架构设计那个模板找出来完善了一下.看了一下,VB6这块需要记录一些内容,于是有了本文. ...