同一个排序算法对一组记录排序,为什么第二遍运行永远比第一遍快?

白帽天使 2019-10-05 01:15:09
下面是代码 #include "stdio.h" #include "time.h" #include "Sort.cpp" #ifndef CLOCK_(CODES,TIMES) #define CLOCK_(CODES,TIMES) {clock_t start,stop;start=clock();{CODES;}stop=clock(); TIMES=((double)(stop-start))/CLOCKS_PER_SEC;} #endif int main(){ int a[]={1,9,5,7,4,2,8,3,5,1,2,2,17,19}; int n=sizeof (a)/sizeof (int); double ggg; CLOCK_(BubbleSort(a,0,n-1),ggg); printf("%f\n",ggg); for (int i=0;i<n;i++)printf("%d\n",a[i]); int b[]={1,9,5,7,4,2,8,3,5,1,2,2,17,19}; CLOCK_(BubbleSort(b,0,n-1),ggg); for (int i=0;i<n;i++)printf("%d\n",a[i]); printf("%f\n",ggg); return 0; } 不管运行多少遍,调用同一个排序方法,第二次调用总比第一次调用排序时间短。这里是冒泡排序,其他排序方法也一样。 这是咋回事啊
...全文
171 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
铖邑 2019-10-07
  • 打赏
  • 举报
回复
可能是处理器有做优化吧
gouyanfen 2019-10-06
  • 打赏
  • 举报
回复
这个要看模拟器的工作原理,你要测试这种,还是不要用模拟器好点
wowpH 2019-10-06
  • 打赏
  • 举报
回复
引用 2 楼 白帽天使 的回复:
[quote=引用 1 楼 wowpH的回复:]第一次要编译吧。。。
不是的。。我这是同一个源文件里调用了两次排序方法。。[/quote]建议数据规模加大点。
白帽天使 2019-10-06
  • 打赏
  • 举报
回复
引用 1 楼 wowpH的回复:
第一次要编译吧。。。
不是的。。我这是同一个源文件里调用了两次排序方法。。
wowpH 2019-10-05
  • 打赏
  • 举报
回复
第一次要编译吧。。。
内容概要:本文介绍了一项基于Matlab代码实现的并网与离网风光互补制氢合成氨系统的容量配置与调度优化分析研究。该研究构建了综合能源系统框架,充分考虑风能与光伏发电的不确定性特征,围绕制氢与合成氨过程中的能量转换、存储需求以及系统经济性,开展系统容量优化与多模式运行调度策略的设计与仿真验证。研究涵盖了多能协同建模、智能优化算法的应用、经济性分析,并对比了系统在并网与离网两种运行模式下的性能表现,旨在提升可再生能源利用率、降低碳排放并优化系统全生命周期的运行成本。文中强调科研需逻辑严谨、善于借力,并提供了公众号及百度网盘链接以获取完整的代码与资料。; 适合人群:从事新能源系统优化、综合能源系统、可再生能源制氢、Matlab仿真等相关领域的科研人员、研究生及工程技术人员。; 使用场景及目标:①开展风光互补制氢合成氨系统的容量规划与调度优化研究;②学习和复现SCI级别论文中的优化建模与仿真方法;③掌握Matlab在能源系统优化领域的实际应用技巧。; 阅读建议:建议读者按照文档中可能存在的逻辑顺序逐步学习,充分利用提供的Matlab代码与网盘资料进行实践操作,结合具体案例加深对优化模型与算法实现的理解。
内容概要:本文围绕基于1D-GAN(一维生成对抗网络)的数据生成方法展开研究,重点探讨其在时间序列或信号类数据建模与生成中的应用,特别适用于电力负荷、光伏发电出力、传感器信号等具有一维时序特征的工程场景。该研究作为EI级别成果的复现,具备较高的学术严谨性与技术可靠性。文档不仅系统阐述了1D-GAN的核心架构设计,涵盖生成器与判别器的网络构建,还详细展示了训练流程、损失函数优化策略以及生成结果的评估方法,旨在帮助研究人员深入理解并速实现该技术。项目以Matlab为主要实现工具,提供了完整的代码支持,便于用户进行复现实验、参数调优与二次开发。此外,文档末尾还整合了大量相关科研资源,覆盖智能优化算法、机器学习、路径规划、电力系统等多个前沿领域,形成一个综合性的科研辅助平台,有助于拓宽研究视野与激发创新思路。; 适合人群:具备一定编程基础和深度学习理论知识,从事电气工程、自动化、计算机科学、新能源系统等相关领域的研究生、科研人员及工程师,尤其适合正在开展时间序列建模、数据增强、信号仿真或新能源系统分析的研究者。; 使用场景及目标:① 利用1D-GAN生成高质量的一维时间序列数据,有效缓解实测数据稀缺或不均衡的问题;② 复现EI期刊级别的研究成果,提升科研工作的技术水准与可信度;③ 深入理解生成对抗网络在工程信号处理中的具体实现细节,掌握网络结构设计与超参数调优的关键技巧;④ 基于提供的Matlab代码进行二次开发,拓展至负荷预测、故障诊断、信号仿真、储能配置优化等实际工程应用场景。; 阅读建议:建议读者首先通览全文,建立对1D-GAN整体架构与技术路线的宏观认知,随后结合所提供的Matlab代码进行模块化分析,重点关注生成器与判别器的网络设计、训练过程中的超参数设置以及生成效果的可视化评估方法。为达到最佳学习效果,应动手运行并调试代码,尝试修改网络结构或输入数据集,以深入理解模型的动态行为与泛化能力。同时,可参考文档中推荐的相关科研资源,进一步拓展研究边界,促进跨领域创新。

65,212

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧