回调函数排序异常原因

news2024/7/6 18:21:29

回调函数排序异常原因

  • 问题所在
  • 解决方案

参考我的这篇博文c++回调函数排序:回调函数

我之前的代码是这样写的:(存在问题)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

问题所在

将数组传递到其他函数中,再使用sizeof(数组名),得到的不是数组的完成长度了(往往会短一些)

解决方案

需要将数组长度作为参数传递到使用数组的函数里面。
在这里插入图片描述

int compdesc(const void* p1, const void* p2)       // 降序的回调函数。
{
	//void* 指针转换为int*指针,再解引用
	return *((int*)p2) - *((int*)p1);
}
int compasc(const void* p1, const void* p2)         // 升序的回调函数。
{
	return *((int*)p1) - *((int*)p2);
}




//测试用例;
//int a[6] = { 1,20,3,30,3,5 };
//MyQshort(a);
//cout << "主函数调用;" << endl;
//for (int i = 0; i < sizeof(a) / sizeof(int); i++) {
//	cout << a[i] << endl;
//}
//注意:再函数里面打印输出就不完全了(sizeof(a)长度的原因)
void MyQshort(int* a,int len) {
	
	qsort(a, len, sizeof(int), compasc);

}

主函数中的调用:

int main()
{
	//int a[6] = { 1,20,3,30,3,5 };
	//MyQshort(a);
	//cout << "主函数调用;" << endl;
	//for (int i = 0; i < sizeof(a) / sizeof(int); i++) {
	//	cout << a[i] << endl;
	//}
	//cout << "查找的下标为:" << endl;
	//cout << search(a, sizeof(a) / sizeof(int), 3)<<endl;

	int a[6] = { 40, 10, 100, 90, 20, 25 };
	MyQshort(a,6);
	std::cout << "主函数调用;" << endl;
	for (int i = 0; i < sizeof(a) / sizeof(int); i++) {
		std::cout << a[i] << endl;
	}
    return 0;
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/636525.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

美团、抖音“卷”向本地生活B端

配图来自Canva可画 当美团与大众点评的合并案落下帷幕&#xff0c;美团在本地生活领域的江湖地位就算是基本奠定了。只不过&#xff0c;随着互联网技术的不断发展和创新&#xff0c;本地生活服务又被提供了更多的可能性和新机遇。因此&#xff0c;尽管美团严防死守&#xff0c…

花青素-肠道微生物群-健康轴

谷禾健康 花青素-肠道微生物群-健康轴 经常听到一些专家在介绍食品或保健品时说富含花青素&#xff0c;那么究竟什么是花青素&#xff1f;对我们的健康又有何益处&#xff1f; 花青素是在植物组织中发现的天然水溶性色素&#xff0c;水果、蔬菜、花卉中的呈色物质大部分与之有关…

vue项目中使用html2canvas解决截图不全的问题

话不多说&#xff0c;直接上代码&#xff01;&#xff01;&#xff01; <div><el-button click"downloadPicture">下载</el-button><div ref"imageDom"><el-table:data"tableData"style"width: 100%":row…

喜讯 | 华秋电子荣获证券时报年度高成长企业

6月9日&#xff0c;由证券时报社主办的第十一届中国创业投资论坛盛大开启&#xff0c;在论坛上&#xff0c;2023证券时报创投金鹰奖暨创业企业新苗奖评选隆重揭晓。 经过两个多月紧张的申报、投票、评选&#xff0c;近300家机构和企业的激烈比拼&#xff0c;最终一批独具韧劲、…

【React】React中编写CSS,Redux,RTX

❤️ Author&#xff1a; 老九 ☕️ 个人博客&#xff1a;老九的CSDN博客 &#x1f64f; 个人名言&#xff1a;不可控之事 乐观面对 &#x1f60d; 系列专栏&#xff1a; 文章目录 React中编写CSS内联样式普通csscss modulescss in js动态添加class ReduxJS纯函数如何创建redux…

中国联通泛终端技术生态创新成果发布,移远通信荣获业务与应用板块突出贡献奖

6月7日&#xff0c;以“轻联万物 共赴星海”为主题的2023中国联通泛终端技术生态创新成果发布会在北京举行。 会上&#xff0c;中国联通泛终端技术生态创新联合实验室对一年来作出突出贡献的单位进行了嘉奖。移远通信凭借其在物联网产品及应用解决方案等领域的深厚积累和突出贡…

KubeSphere 社区双周报 | OpenFunction 发布 v1.1.0 | 2023.5.26-6.8

KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过 commit 的贡献者&#xff0c;并对近期重要的 PR 进行解析&#xff0c;同时还包含了线上/线下活动和布道推广等一系列社区动态。 本次双周报涵盖时间为&#xff1a;2023.05.26-2023.…

将本地项目推到gitee上

查看原来仓库地址 git remote -v删除原来仓库地址 git remote rm origin # git remote rm origin https://gitee.com/zhangxiaoQ/large-file-upload.git添加需要推送的仓库 git remote add origin https://gitee.com/stevencmu/large-file-upload.git

Unity Scene界面出好多黄线解决办法

点下 Button下的Visualize就消失

创建可引导的 macOS 安装器(可启动U盘)

Apple官网下载的macOS镜像&#xff0c;只是一个安装包&#xff0c;不带引导不能直接安装到空白mac机器的。 1、首先&#xff0c;你必须要有台能正常运行macOS的mac pc。 2、下载macOS Sierra 10.12 El Capitan 10.11 Yosemite 10.10 Mountain Lion 10.8 Lion 10.7 点按以…

智能工厂MES系统“超级大脑”,助力数字化工厂生产流程

随着现代工业的不断发展&#xff0c;数字化工厂已经成为了生产制造的新趋势。而在实现数字化转型过程中&#xff0c; MES系统则显得尤为重要。 那么&#xff0c;MES系统究竟能为数字化工厂带来什么神奇的魔力呢&#xff1f;下面就来一探究竟。 物料管理 MES系统可以提供物料的…

MySQL(七):一文带你学透 mysql运算符 (超详解)

运算符 前言一、算术运算符1、加法与减法运算符2、乘法与除法运算符3、求模&#xff08;求余&#xff09;运算符 二、比较运算符1、等号运算符2、安全等于运算符3、不等于运算符4、空运算符5、非空运算符6、最小值运算符7、最大值运算符8、BETWEEN AND运算符9、IN运算符10、NOT…

Prefix-Tuning论文解读

论文名称&#xff1a;Prefix-Tuning: Optimizing Continuous Prompts for Generation 论文地址&#xff1a;https://arxiv.org/pdf/2101.00190.pdf 论文代码&#xff1a;https://github.com/XiangLi1999/PrefixTuning 想搞prompt&#xff0c;看了好多篇&#xff0c;挑着记录…

【微前端架构】微前端——功能团队中缺失的一块拼图

在任何合法的前端开发团队中&#xff0c;提高可扩展性和敏捷性很少会成为头等大事。在处理大型、复杂的产品时&#xff0c;如何确保快速、频繁地交付同时包含后端和前端的功能&#xff1f;像后端那样将前端单体分解成许多更小的部分似乎是答案。如果执行得当&#xff0c;微前端…

IO500榜单最新出炉,HPC性能天花板提升15倍

近日&#xff0c;存储圈又有炸裂新消息。 高性能计算&#xff08;HPC&#xff09;领域最具影响力的IO500最新一期榜单公布&#xff0c;以华为OceanStor Pacific分布式存储为核心底座的Cheeloo-1系统表现一骑绝尘&#xff0c;在最重要的10节点榜单中以创纪录的13万总得分位列第…

基于jsp+mysql+mybatis+Spring boot简单学生成绩信息管理系统

基于jspmysqlmybatisSpring boot简单学生成绩信息管理系统 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系方…

容器(第五篇)docker-compose

docker-compose用来单机上编排容器&#xff08;定义和运行多个容器&#xff0c;使容器能互通&#xff09;&#xff0c;Eg&#xff1a;前端和后端部署在一台机器上&#xff0c;现在直接通过编写docker-compose文件对多个服务&#xff08;可定义依赖&#xff0c;按顺序启动服务&a…

Burpsuite+Proxifier抓取exe数据包

本文转载与&#xff1a; https://mp.weixin.qq.com/s?__bizMzg4NTUwMzM1Ng&mid2247504341&idx1&sndb06bdc7434a34dd69930e3a7e3d8114&chksmcfa575c6f8d2fcd0830a7bb5d5c11b6e8a1465688d8f59cb2fd7b04685210ac2beae3bec18c2&mpshare1&scene23&srci…

vscode Delete `␍⏎·····`

在公司电脑首次拉取代码的时候&#xff0c;好多代码报错&#xff0c;在网上查了博客&#xff0c;确定是换行导致&#xff0c;但是参考网上的解决办法&#xff0c;没有解决&#xff0c;不管是设置 auto 还是命令行执行什么什么的&#xff0c;都不管用 下面介绍我的办法 首先&a…

葡萄目标检测相关论文和数据集

文章目录 2018Computer Vision and Machine Learning for Viticulture Technology 2020Grape detection, segmentation, and tracking using deep neural networks and three-dimensional association&#xff08;Computers and Electronics in Agriculture&#xff09; 2021Gr…