03模板学习之函数模板案例-写一个int,char通用的冒泡

2023-10-29

03模板学习之函数模板案例-写一个int,char通用的冒泡

1 直接看代码

// 模板测试.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

template<typename Sort>
void MySort(Sort *arr, int len) {
	if (arr == NULL) {
		return;
	}
	for (int i = 0; i < len; i++) {
		for (int j = i; j < len - 1; j++) {
			if (arr[j] > arr[j + 1]) {
				Sort tmp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = tmp;
			}
		}
	}
}

template<class T>
void Printf(T *arr, int len) {
	for (auto i = 0; i < len; i++) {
		std::cout << arr[i] << " ";
	}
	std::cout<<std::endl;
}

int main(){
   
	int a[] = { 1,5,7,4,6,9 };
	int len = sizeof(a) / sizeof(int);

	Printf<int>(a, len);

	MySort<int>(a, len);

	Printf<int>(a, len);

	char c[] = { 'a','c','b','r','d'};
	int clen = sizeof(c) / sizeof(char);

	Printf<char>(c, clen);

	MySort<char>(c, clen);

	Printf<char>(c, clen);

	return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

03模板学习之函数模板案例-写一个int,char通用的冒泡 的相关文章

  • UTF8/UTF16 和 Base64 在编码方面有什么区别

    In c 我们可以使用下面的类来进行编码 System Text Encoding UTF8 System Text Encoding UTF16 System Text Encoding ASCII 为什么没有System Text En
  • 属性对象什么时候创建?

    由于属性实际上只是附加到程序集的元数据 这是否意味着属性对象仅根据请求创建 例如当您调用 GetCustomAttributes 时 或者它们是在创建对象时创建的 或者 前两个的组合 在由于 CLR 的属性扫描而创建对象时创建 从 CLR
  • 如何在没有 Control.Invoke() 的情况下从后台线程修改控件属性

    最近 我们遇到了一些旧版 WinForms 应用程序 我们需要更新一些新功能 在专家测试该应用程序时 发现一些旧功能被破坏 无效的跨线程操作 现在 在您认为我是新手之前 我确实有一些 Windows 窗体应用程序的经验 我不是专家 但我认为
  • fgets() 和 Ctrl+D,三次才能结束?

    I don t understand why I need press Ctrl D for three times to send the EOF In addition if I press Enter then it only too
  • Cygwin 下使用 CMake 编译库

    我一直在尝试使用 CMake 来编译 TinyXML 作为一种迷你项目 尝试学习 CMake 作为补充 我试图将其编译成动态库并自行安装 以便它可以工作 到目前为止 我已经设法编译和安装它 但它编译成 dll 和 dll a 让它工作的唯一
  • 如何在我的应用程序中使用 Windows Key

    Like Windows Key E Opens a new Explorer Window And Windows Key R Displays the Run command 如何在应用程序的 KeyDown 事件中使用 Windows
  • 为什么禁止在 constexpr 函数中使用 goto?

    C 14 对你能做什么和不能做什么有规则constexpr功能 其中一些 没有asm 没有静态变量 看起来相当合理 但标准也不允许goto in constexpr功能 即使它允许其他控制流机制 这种区别背后的原因是什么 我以为我们已经过去
  • 将字符串从非托管代码传递到托管

    我在将字符串从非托管代码传递到托管代码时遇到问题 在我的非托管类中 非托管类 cpp 我有一个来自托管代码的函数指针 TESTCALLBACK FUNCTION testCbFunc TESTCALLBACK FUNCTION 接受一个字符
  • 使用 C# 在 WinRT 中获取可用磁盘空间

    DllImport kernel32 dll SetLastError true static extern bool GetDiskFreeSpaceEx string lpDirectoryName out ulong lpFreeBy
  • 按字典顺序对整数数组进行排序 C++

    我想按字典顺序对一个大整数数组 例如 100 万个元素 进行排序 Example input 100 21 22 99 1 927 sorted 1 100 21 22 927 99 我用最简单的方法做到了 将所有数字转换为字符串 非常昂贵
  • 为什么模板不能位于外部“C”块内?

    这是一个后续问题一个答案 https stackoverflow com questions 4866433 is it possible to typedef a pointer to extern c function type wit
  • 编译的表达式树会泄漏吗?

    根据我的理解 JIT 代码在程序运行时永远不会从内存中释放 这是否意味着重复调用 Compile 表达式树上会泄漏内存吗 这意味着仅在静态构造函数中编译表达式树或以其他方式缓存它们 这可能不那么简单 正确的 他们可能是GCed Lambda
  • 更改窗口的内容 (WPF)

    我创建了一个简单的 WPF 应用程序 它有两个 Windows 用户在第一个窗口中填写一些信息 然后单击 确定 这会将他们带到第二个窗口 这工作正常 但我试图将两个窗口合并到一个窗口中 这样只是内容发生了变化 我设法找到了这个更改窗口内容时
  • .NET 选项将视频文件流式传输为网络摄像头图像

    我有兴趣开发一个应用程序 它允许我从 xml 构建视频列表 包含视频标题 持续时间等 并将该列表作为我的网络摄像头流播放 这意味着 如果我要访问 ustream tv 或在实时通讯软件上激活我的网络摄像头 我的视频播放列表将注册为我的活动网
  • 网络参考共享类

    我用 Java 编写了一些 SOAP Web 服务 在 JBoss 5 1 上运行 其中两个共享一个类 AddressTO Web 服务在我的 ApplycationServer 上正确部署 一切都很顺利 直到我尝试在我的 C 客户端中使用
  • 将应用程序从 Microsoft Access 迁移到 VB 或 C#.NET

    我目前正试图说服管理层需要将我们的应用程序之一移植到 NET 该应用程序已经发展成为 Access 中的一个庞然大物 SQL 后端 拥有 700 个链接表 650 个表单 子表单 130 个模块和 850 个查询 我几乎知道这样做的所有主要
  • 作为字符串的动态属性名称

    使用 DocumentDB 创建新文档时 我想设置属性名称动态地 目前我设置SomeProperty 像这样 await client CreateDocumentAsync dbs db colls x new SomeProperty
  • char指针或char变量的默认值是什么[重复]

    这个问题在这里已经有答案了 下面是我尝试打印 char 变量和指针的默认值 值的代码 但无法在控制台上看到它 它是否有默认值或只是无法读取 ASCII 范围 include
  • 如何构建印度尼西亚电话号码正则表达式

    这些是一些印度尼西亚的电话号码 08xxxxxxxxx 至少包含 11 个字符长度 08xxxxxxxxxxx 始终以 08 开头 我发现这个很有用 Regex regex new Regex 08 0 9 0 9 0 9 0 9 0 9
  • C++ 成员函数中的“if (!this)”有多糟糕?

    如果我遇到旧代码if this return 在应用程序中 这种风险有多严重 它是一个危险的定时炸弹 需要立即在应用程序范围内进行搜索和销毁工作 还是更像是一种可以悄悄留在原处的代码气味 我不打算writing当然 执行此操作的代码 相反

随机推荐

  • TensorFlow2.0学习笔记-5.数据构建

    5 数据构建 tf data简介 面对一堆格式不一的原始数据文件 读入程序的过程往往十分繁琐 运行的效率上不尽如人意 T e n so r F l ow 提供了 tf data 这一模块 包括了一套灵活的数据集构建 API 能够帮助我们快速
  • 学了 Python 能用来做什么?

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 说起编程语言 Python 也许不是使用最广的 但一定是现在被谈论最多的 随着近年大数据 人工智能的兴起 Python 越来越多的出现在人们的视野中 那么人们在谈论 Pyt
  • 【自然语言处理】GPT 系列讲解

    有任何的书写错误 排版错误 概念错误等 希望大家包含指正 在阅读本篇之前建议先学习 自然语言处理 Seq2Seq 讲解 自然语言处理 Attention 讲解 自然语言处理 ELMo 讲解 自然语言处理 Transformer 讲解 GPT
  • Jupyter 配置工作目录与虚拟环境解释器

    目录 一 Jupyter 配置工作目录 第一步 首先 我们输入jupyter notebook generate config会生成一个jupyter notebook config py 第二步 我们打开这个文件 搜索c Notebook
  • 排序【常见的七大排序详解】

    全文目录 排序的概念 排序的概念 内外排序 常见排序算法 稳定性 插入排序 算法思想 实现 特性总结 希尔排序 算法思想 实现 特性总结 选择排序 算法思想 实现 特性总结 冒泡排序 算法思想 实现 特性总结 堆排序 算法思想 实现 特性总
  • 用JavaScript去找出一个数组里的所有素数(质数)

    var x 定义一个变量x r arr 定义一个空数组 for x 1 x lt 100 x arr push x 把1 100依次放到数组arr中 function get primes arr return arr filter fun
  • oracle获取rowid,Oracle中的ROWID实现

    一直以来 Oracle的发展是如火如荼 依然非常成熟 无论是行业的人员和资料的丰富程度 对于数据库的体系结构的内容 下面这张图我估计很多DBA都快看吐了 每次一提起体系结构 总是会看到这张图 而看着10年前的图 发现依旧能讲出不少的东西 很
  • Eclipse导入新的项目并成功运行

    1 检查 setting 下的一个文件 检查里边的配置和自己的是否一致 2 右键file选择import导入 2 1 选择如图 next 2 2 继续 finish 3 右键项目选择 buildpath gt configure build
  • MySQL8.0.32的安装与配置(最详细)

    目录 一 下载 打开 MySQL官网 点击打开 依次按照 P1 P4 进行下载 二 下载解压 配置初始化文件mysql ini 新建data文件夹 解压之后 解压后把文件放在C盘以外的盘 的文件里边是没有data文件的 需要 创建一个空文件
  • 【机器学习】用可视化的方式直观理解Bayesian models

    如果你感觉Bayesian models反直觉 不好理解 本期分享两个工具 利用可视化的直观方式探索贝叶斯模型 1 Python ArviZ 主要包含以下4方面功能 后验分析 posterior analysis 数据存储 data sto
  • 几款免费PDF合并成一个PDF的软件推荐,快收藏起来吧

    工作中 我们经常需要接收文件 而由于PDF文件具有较高的稳定性 所以它也成为人们发送文件的热门选择 而当需要发的PDF文件比较多时 一个个发送对方接收起来不方便也容易混乱 这时 我们将多个PDF文件合并成一个PDF文件就高效很多了 那么 P
  • umi Mock数据

    1 在mock文件夹下创建文件 export default GET api users users 1 2 api users 1 id 1 GET可忽略 POST api users create req res gt 和express
  • 如何确保网站的安全性

    大部分企业通过网站平台来进行信息发布 交流及宣传 推广企业业务 用户可以通过网站对企业进行初步的了解 并进一步获取咨询服务 企业网站不光是一个展示企业形象的平台 更是一种有效的营销方式 当然其安全性也是至关重要 随着网站的普遍应用 企业网站
  • 基于 STM32CubeMX 添加 RT-Thread 操作系统组件(四)- 多线程SRAM动态内存

    概述 本篇主要介绍这么使用STM32CubeMx工具添加RT Thread操作系统组件 码代码的IDE是keil 介绍单线程SRAM静态内存使用 如果还不知道 这么使用STM32CubeMx工具添加RT Thread操作系统组件 请移步到
  • PageRank算法 -- 从原理到实现

    本文整理自博文PageRank算法 从原理到实现 1 算法来源 这个要从搜索引擎的发展讲起 最早的搜索引擎采用的是 分类目录1的方法 即通过人工进行网页分类并整理出高质量的网站 那时 Yahoo 和国内的 hao123 就是使用的这种方法
  • Android学习笔记(五)--(可调节)模糊效果

    很多时候点开一个button的时候或者弹出某个提示的时候 背景都会变成模糊的或者说是虚化的 而今天 我们就来实现一下动态模糊效果 可以通过控制条或者手势来操控模糊程度 之前自己也做了一个 但是发现会有卡顿 在论坛逛了一会儿就发现果然有一个巧
  • 我的2020工作与学习总结

    我的2020总结 今天是2020年12月30日 马上就要开始新的一年了 在出差途中简单做个总结 总结我2020这平凡而又充实的一年 学习和生活方面 回忆起我去年做的总结我的2019 这两年都是收获满满 我19年大学毕业 其实目前我已经工作两
  • app客户端与服务器数据交互时—数据加密

    总结 1 对称加密加密与解密使用的是同样的密钥 所以速度快 但由于需要将密钥在网络传输 所以安全性不高 2 非对称加密使用了一对密钥 公钥与私钥 所以安全性高 但加密与解密速度慢 3 解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密
  • vue json对象转数组_vue-vue-router 快速了解,多看看能扎实基础

    看着这么多房子头都晕了 不知道从哪里回家 概述 vue router是Vue js官方的路由插件 它和vue js是深度集成的 适合用于构建单页面应用 vue的单页面应用是基于路由和组件的 路由用于设定访问路径 并将路径和组件映射起来 传统
  • 03模板学习之函数模板案例-写一个int,char通用的冒泡

    03模板学习之函数模板案例 写一个int char通用的冒泡 1 直接看代码 模板测试 cpp 此文件包含 main 函数 程序执行将在此处开始并结束 include