Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >c++模板篇02函数模板案例----排序函数

c++模板篇02函数模板案例----排序函数

作者头像
大忽悠爱学习
发布于 2021-03-02 08:54:42
发布于 2021-03-02 08:54:42
43300
代码可运行
举报
文章被收录于专栏:c++与qt学习c++与qt学习
运行总次数:0
代码可运行

函数模板案例----排序函数

任务:用选择排序对不同类型的数组进行排序

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include<iostream>
using namespace std;
//交换函数
template<class t>
void myswap(t& a, t& b)
{
	t temp = a;
	a = b;
	b = temp;
}
//排序函数
template<class T>
void test(T &array,int len)
{
	for (int i = 0; i < len; i++)
	{
		int max = i;
		for (int j = i + 1; j < len; j++)
		{
			if (array[max] < array[j])
			{
				max = j;
			}
		}
		if (max != i)
		{
			swap(array[max], array[i]);
		}
	}
}
//打印数组模板
template<class a>
void printarr(a &arr,int len)
{
	for (int i = 0; i < len; i++)
	{
		cout << arr[i] << " ";
	}
}
int main()
{
	int arr[] = { 2,4,7,5,8,6,10 };
	int len = sizeof(arr) / sizeof(arr[0]);
	test(arr, len);
	printarr(arr, len);
	system("pause");
	return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/02/05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
c++之函数模板案例
1.利用函数模板封装一个排序的函数,可以对不同的数据类型数组进行排序。 2.利用的排序算法是选择排序。 #include<iostream> #include<fstream> #include<string> using namespace std; template<class T> void mySwap(T& a, T& b) { T tmp = a; a = b; b = tmp; } template<class T> void selectSort(T arr[],
西西嘛呦
2020/08/26
5550
C++泛型编程,模板(一)函数模板
建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。
CtrlX
2022/09/26
3420
C++之函数模板的概念和意义
我们再用使用函数的方式来实现这个功能,当然以前我们在c语言里面使用指针传参方式来实现这种两个数值直接的交换,现在我们利用c++里面更加高级的方式来实现,就是使用引用来实现(不过它的本质还是指针来实现,只是我们只用引用再不用去考虑指针的细节了)
用户6280468
2022/03/21
4540
C++之函数模板的概念和意义
函数模板 ## 函数模板
template <>void Swap<job>(job&, job&); //or template <>void Swap(job&, job&);
Alan_1
2023/04/30
2.2K0
【C++初阶】函数模板与类模板
于是,大佬心里就在想,能不能像铸铁一样,刻出一个模子(模板),然后通过浇筑不同的材料(不同的类型),从而锻造成不同材料制成的宝刀(不同类型的目标代码)
MicroFrank
2023/01/16
7920
C++函数模板与类模板
那么,如果你想交换两个其他类型的就需要写一个重载函数,这样是非常麻烦的。 这时C++就有了模板。
有礼貌的灰绅士
2023/03/28
8430
C++函数模板与类模板
25.C++- 泛型编程之函数模板(详解)
本章学习: 1)初探函数模板 2)深入理解函数模板 3)多参函数模板 4)重载函数和函数模板 ---- 当我们想写个Swap()交换函数时,通常这样写: void Swap(int& a, int& b) { int c = a; a = b; b = c; } 但是这个函数仅仅只能支持int类型,如果我们想实现交换double,float,string等等时,就还需要从新去构造Swap()重载函数,这样不但重复劳动,容易出错,而且还带来很大的维护和调试工作量。更糟的是,还会增加可执
诺谦
2018/04/18
1K0
25.C++- 泛型编程之函数模板(详解)
C++函数模板(模板函数)详解
大家好,又见面了,我是你们的朋友全栈君。 C++函数模板(模板函数)详解 定义 用法: 函数模板的原理 延申用法 2.1为什么需要类模板 2.2单个类模板语法 2.3继承中的类模板语法 案例1: 案例2: 2.4类模板的基础语法 2.5类模板语法知识体系梳理 1.所有的类模板函数写在类的内部 复数类: 2.所有的类模板函数写在类的外部,在一个cpp中 2.5总结 关于类模板的几点说明: 2.6类模板中的static关键字 案例2:以下来自:C++类模板遇上static关键字 2.7类模板在项目开发中的
全栈程序员站长
2022/07/22
1.9K0
C++函数模板(模板函数)详解
c++模板篇01之函数模板
解释: 1.template----声明创建模板 2.typename-------表明其后面的符号是一种数据类型,可以用class代替 3.T----------通用的数据类型,名称可以替换,通常为大写
大忽悠爱学习
2021/03/02
3590
C/C++开发基础——函数模板
模板编程分两种,分别是算法抽象的模板、数据抽象的模板。算法抽象的模板以函数模板为主,数据抽象的模板以类模板为主。
Coder-ZZ
2023/09/04
1680
C/C++开发基础——函数模板
【C++】模板(初识):函数模板、类模板
函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实际的参数类型产生函数特定版本。
羚羊角
2024/10/21
2160
【C++】模板(初识):函数模板、类模板
【C++篇】C++模板初阶:从泛型编程到函数模板与类模板的全面解析
在C++编程中,重复编写功能相同但类型不同的代码既低效又容易出错。例如,实现一个通用的交换函数时,若为每种类型都重载一次,代码将臃肿且难以维护。 C++模板技术应运而生,它通过“泛型编程”的思想,允许开发者定义类型无关的代码框架,由编译器自动生成具体类型的版本。本文将深入浅出地解析泛型编程的核心思想、函数模板的原理与使用技巧,以及类模板的定义与实例化方法,帮助你掌握这一提升代码复用性与维护性的利器。
我想吃余
2025/04/11
1750
【C++篇】C++模板初阶:从泛型编程到函数模板与类模板的全面解析
模板(上)——(函数模板)
C++有两种模板机制:函数模板和类模板。模板中的参数也称为类属参数。 模板、模板类、对象和模板函数之间的关系:
海盗船长
2020/08/27
1.6K0
【c++】模板---函数模板/类模板
如果在C++中,也能够存在这样一个模具,通过给这个模具中填充不同材料(类型),来获得不同材料的铸件(即生成具体类型的代码),那将会节省许多头发。巧的是前人早已将树栽好,我们只需在此乘凉
用户10925563
2024/06/04
1780
【c++】模板---函数模板/类模板
C++之函数模板的深入理解学习总结
在昨天的文章里面,我们给大家简单的分享了关于c++里面的函数模板的概念,通过代码示例,我们对函数模板的优势有了一个比较清楚的认识。咋们今天继续来深入学习函数模板。以下内容是今天知识学习总结笔记。
用户6280468
2022/03/21
2590
C++之函数模板的深入理解学习总结
【C++ 程序设计入门基础】- 第4节-函数
比如:int &b = a; 在定义b的时候前面的符号& 就表示b是a的一个引用,对引用变量的赋值等操作相当于对变量本身的操作。所以你对b赋值 b=a+14其实相当于a=a+14操作,引用又称为别名,相当于一个人两个名字。所以b是15。
跟着飞哥学编程
2024/01/14
1900
【C++ 程序设计入门基础】- 第4节-函数
C++提高编程笔记合集
建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。
CtrlX
2022/10/27
9380
C++提高编程笔记合集
C++之函数模板(二)
通过函数模板定义的函数如果和普通函数名称相同,以及重载函数模板,我们在调用这个函数的时候,到底是执行哪一个函数。
zy010101
2020/04/08
3510
【C++】Chaper03 函数模板与泛型
学习C语言的时候,我们经常要写一个函数叫做Swap,但是由于经常要指定参数的类型,所以可能不止要写一种。
Skrrapper
2025/03/26
740
【C++】Chaper03 函数模板与泛型
程序员必须掌握的8大排序算法
分类: 1)插入排序(直接插入排序、希尔排序) 2)交换排序(冒泡排序、快速排序) 3)选择排序(直接选择排序、堆排序) 4)归并排序 5)分配排序(基数排序) sort.jpg 一、直接插入排序 (
海天一树
2018/04/17
9290
程序员必须掌握的8大排序算法
相关推荐
c++之函数模板案例
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验