案例描述:

1、利用函数模板封装一个排序算法,可以对不同数据类型数组进行排序

2、排序规则从大到小,排序算法为选择排序

3、分别利用char数组和int数组进行测试

#include<iostream>
using namespace std;//实现 通用对数组进行排序函数,从大到小
//char,int数组测试//交换的函数模板
template<class T>
void mySwap(T&a,T&b)
{T temp=a;a=b;b=temp;
}//排序算法
template <class T>
void mySort(T arr[], int len)
{for(int i=0;i<len;i++){int max=i;//认定最大值的下标for(int j=i+1;j<len;j++){if(arr[max]<arr[j]){//认定的最大值比遍历的值要小,则j的最小max=j;}}if(max!=i){mySwap(arr[max],arr[i]);}}
}//提供打印数组的模板
template<class T>
void printArray(T arr[],int len)
{for(int i=0;i<len;i++){cout<<arr[i]<<" ";}cout<<endl;
}//测试char数组
void test01()
{
//测试char数组char charArr[]="dsdcfaxxc";int num=sizeof(charArr)/sizeof(char);mySort(charArr,num);printArray(charArr,num);
}//测试int数组
void test02()
{char charInt[]="3,4,2,6,7,2,3,9,0";int num=sizeof(charInt)/sizeof(int);mySort(charInt,num);printArray(charInt,num);
}int main()
{test01();test02();return 0;
}

函数模板案例—选择排序相关推荐

  1. 用函数模板实现选择排序算法_干货|STL容器和算法

    作者:以上为参赛名单233 链接:https://blog.nowcoder.net/n/b47b3f93789844b0a64432fac51886bf

  2. 函数模板案例_利用函数模板封装一个排序的函数,可以对不同数据类型数组进行排序 排序规则从大到小,排序算法为选择排序 分别利用char数组和int数组进行测试

    案例描述: 利用函数模板封装一个排序的函数,可以对不同数据类型数组进行排序 排序规则从大到小,排序算法为选择排序 分别利用char数组和int数组进行测试 #include <iostream& ...

  3. 模板 (函数模板语法 ,类模板与函数模板的区别,:函数模板案例,普通函数与函数模板的区别,普通函数与函数模板调用规则,模板的局限性,类模板分文件编写.cpp,Person.hpp,类模板与友元)

    **01:函数模板语法: #include<iostream> using namespace std;//交换两个整型函数 void swapInt(int &a ,int &a ...

  4. C++笔记7:C++提高编程1:模板—[函数模板和类模板]

    0820 C++提高编程: 1.模板-[函数模板和类模板] 2.初识STL 3.STL-常用容器 4.STL-函数对象 5.STL-常用算法 C++提高编程引言: C++除了面向对象编程思想,还有泛型 ...

  5. C++提高部分_C++函数模板_案例_数组排序---C++语言工作笔记083

    我们再去做一个函数模板的,案例. 利用函数模板,封装一个排序的函数,可以实现不同数据类型的数组排序, 使用选择排序法,进行排序,从大到小... 分别利用char数组,int数组进行测试 我们写一个测试 ...

  6. 笔记②:牛客校招冲刺集训营---C++工程师(面向对象(友元、运算符重载、继承、多态) -- 内存管理 -- 名称空间、模板(类模板/函数模板) -- STL)

    0618 C++工程师 第5章 高频考点与真题精讲 5.1 指针 & 5.2 函数 5.3 面向对象(和5.4.5.5共三次直播课) 5.3.1 - 5.3.11 5.3.12-14 友元 友 ...

  7. C++编程——函数模板

    文章目录 1 函数模板语法 2 函数模板注意事项 3 函模模板案例 4 普通函数与函数模板的区别 5 普通函数与函数模板的调用规则 6 模板的局限性 模板就是建立通用的模具,大大提高复用性 模板的特点 ...

  8. C++ 函数模板 使用模板数组排序

    1.模板的特点 模板不可以直接使用, 它是一个框架 模板的通用并不是万能的 2.函数模板 2.1 语法 template<typename T> 函数的声明与定义 template --声 ...

  9. 数据结构与算法:选择排序

    数据结构与算法:选择排序 雪柯 大工生物信息 提笔为写给奋进之人 已关注 8 人赞同了该文章 引用自算法图解,作者[美] Aditya Bhargava 译袁国忠 特别备注:本书非原创,但部分内容自己 ...

最新文章

  1. ASP.NET中使用MD5和SHA1算法加密
  2. 算法导论--python--插入排序
  3. Html中框架的使用
  4. SAP ERP物料和SAP Cloud for Customer的同步
  5. 【渝粤题库】广东开放大学 基础写作 形成性考核
  6. 扫地机器人的特点描写_扫地机器人的特点是什么
  7. AcWing 1057. 股票买卖 IV
  8. Linux安装PHP环境LNMP
  9. UTC时间字符串转换为本地时间(北京)
  10. 《概率论与数理统计》之常见概率分布
  11. 高性能mysql读书笔记三性能查询优化
  12. 如何搭建一个前端脚手架
  13. 计算机计算投资回收期公式,投资回收期年限的自动计算(带公式).xlsx
  14. mac 打开虚拟机之后,原MAC没有声音解决方法
  15. 解决罗技K580键盘win和alt键互换问题
  16. Jmeter 添加kafka支持
  17. ZCMU--5238: 向右转(C语言)
  18. Windows 11操作系统 ndis.sys 驱动无限蓝屏问题修复
  19. Python打印九九乘法表---左上三角、左下三角、右上三角、右下三角形格式
  20. 数学1——概率与数学期望

热门文章

  1. App避免被杀死,常驻后台
  2. VS同一个解决方案中不同项目相互引用问题
  3. FPGA入门-腾讯云布道师团队-专题视频课程
  4. python求助神器_【python从零开始(被称之为神器的装饰器)】- 环球网校
  5. 教你学java_教妹学Java:Spring 入门篇
  6. hdu 3853 LOOPS
  7. linux常用运维shell,常用的shell命令,持续更新 | linux运维小站–linux系统架构_服务器运维_Linux运维工程师工作手札...
  8. java电影定票系统_Java实现电影院订票系统代码
  9. 禁止html5手机端双击页面放大的问题,主要针对苹果手机
  10. VBA 中的UBound