// 计时
#pragma once #include <iostream>
#include <thread>
#include <chrono>
#include <ctime> // clock namespace DS
{
// 当n超过一定次数时,栈溢出,比如10万次时:0x005753E9 处有未经处理的异常(在 DS.exe 中): 0xC00000FD: Stack overflow
// 实际项目中慎用递归,实际项目中一般会设置最大递归次数,若到达最大递归次数哪怕没求得结果也要返回,防止程序栈破裂,程序终止
void PrintN_Recursive(int n)
{
// 递归终止条件
if (n <= 1) {
return;
} //std::cout << n << ' ';// 放在这就会逆序打印
PrintN_Recursive(--n);
std::cout << n << std::endl;
} void PrintN_Loop(int n)
{
for (int i = 1; i <= n; ++i) {
std::cout << i << std::endl;
}
} void PrintN_Test()
{
clock_t start_time = 0, end_time = 0;
int n = 0;
std::cout << "Input N:";
std::cin >> n; std::cout << "By loop:" << std::endl;
start_time = clock();// C语言方式计时
DS::PrintN_Loop(n);
end_time = clock();
std::cout << "duration:" << end_time - start_time << "ms" << std::endl;
//std::cout << "duration:" << (end_time - start_time) / CLOCKS_PER_SEC << "s" << std::endl; // CLK_TCK或CLOCKS_PER_SEC是每秒走过的时钟打点数 std::this_thread::sleep_for(std::chrono::milliseconds(3000)); std::cout << "By Recursive:" << std::endl;
auto start = std::chrono::steady_clock::now(); // C++11
DS::PrintN_Recursive(n);// 当n超过一定次数时,栈溢出,比如1万次时:0x005753E9 处有未经处理的异常(在 DS.exe 中): 0xC00000FD: Stack overflow
auto end = std::chrono::steady_clock::now();
auto dura = std::chrono::duration_cast<std::chrono::microseconds>(end - start).count();// 微妙
std::cout << "duration:" << dura * 0.001 << "ms" << std::endl;
} }

C++时间日期相关的更多相关文章

  1. 时间日期相关总结-System类的常用方法

    时间日期相关总结 Date类 A.构造方法 Date();根据当前系统时间创建日期对象 Date(long time);根据传入的毫秒值时间创建日期对象 B.成员方法 long getTime(); ...

  2. 时间日期相关类:Date类,DateFormat类&SimpleDateFormat类,Calendar类

    日期相关类 1.Date类:日期时间类 A.构造方法 Date(): 根据当前系统时间创建日期对象 ​ Date(Long time):根据传入的毫秒值时间创建日期对象 B.成员方法 Long get ...

  3. 【Android 应用开发】Android - 时间 日期相关组件

    源码下载地址 : -- CSDN :  http://download.csdn.net/detail/han1202012/6856737 -- GitHub : https://github.co ...

  4. Android - 时间 日期相关组件

    源码下载地址 : -- CSDN :  http://download.csdn.net/detail/han1202012/6856737 -- GitHub : https://github.co ...

  5. 时间日期相关:Date类、DateFormat类、Calendar类

    1 Date类 类 Date 表示特定的瞬间,精确到毫秒. 1秒=1000毫秒 毫秒的0点:公元1970年 一月一日,午夜0:00:00 对应的毫秒值就是0 时间和日期的计算,必须依赖毫秒值. Sys ...

  6. Java 各种时间日期相关的操作

    目录 1.获取当前时间的时间戳 1.1.时间进制 1.2.获取毫秒级时间戳 1.3.获取纳秒级时间戳 2.java.util包 2.1.Data 2.2.Calendar 3.java.time包 3 ...

  7. Java基础 与时间日期相关的类:System -Date -SimpleDateFormat -Calendar类 -解决后缀.000Z 的时区问题

    笔记总结: /**与时间相关的类:System_Date_SimpleDateFormat_Calendar类 * 1.system 类下的currentTimeMillis() * 输出从1970年 ...

  8. Java 8 时间日期库的20个使用示例

    java 8是如何处理时间及日期的 有人问我学习一个新库的最佳途径是什么?我的回答是,就是在实际项目中那样去使用它.在一个真实的项目中会有各种各样的需求,这会促使开发人员去探索和研究这个新库.简言之, ...

  9. java8新的时间日期库及使用示例

    转自:https://www.cnblogs.com/comeboo/p/5378922.html 来自:Java译站 链接:http://it.deepinmind.com/java/2015/03 ...

  10. Java 8新的时间日期库的20个使用示例

    原文链接 作者:Javin Paul 译者:之诸暇 除了lambda表达式,stream以及几个小的改进之外,Java 8还引入了一套全新的时间日期API,在本篇教程中我们将通过几个简单的任务示例来学 ...

随机推荐

  1. SpringMVC请求与响应

    请求 知识点1:@RequestParam 名称 @RequestParam 类型 形参注解 位置 SpringMVC控制器方法形参定义前面 作用 绑定请求参数与处理器方法形参间的关系 相关参数 re ...

  2. 新的学习历程-python6 字符串基础使用

    1 sentence1 = 'tom\'s pet is a cat' # 单引号中包含转单引号 2 sentence2 = "tom\'s pet is a cat" 3 sen ...

  3. oracle 行转列,动态年份,月份列。已解决!

    -----------------存储过程包体----------- procedure GetComparativeAnalysisTB(p_StartTime varchar2, ----开始时间 ...

  4. CF1268B题解

    CF1268B 题解 题目翻译 给你一个杨表,用一个有 \(n\) 个元素的数组 \(a\) 表示杨表每一列的高度.你需要用 \(1 \times 2\) 或 \(2 \times 1\) 的骨牌填充 ...

  5. 新手入门Neo4j,手把手完整教学

    1. 图数据库Neo4j简介 1.1 什么是图数据库 图数据库:是基于图论实现的一种NoSQL数据库,其数据结构是和查询方式是以图论为基础的,图数据库主要用于存储更多的连接数据. 图论:用多个节点代表 ...

  6. iOS开发之将GIF存储本地相册

    #import <AssetsLibrary/AssetsLibrary.h> 1.引用库 2.将GIF图片转为NSData类型 3.存储代码 ALAssetsLibrary *libra ...

  7. web基础(6): CSS综合实例-咖啡网页设计

    咖啡店案例效果图 (一)页面的布局 1. 最上方的header:右下角是四个小图标,像图层一样附加在当前的header部分上. 2. 超链接构成的导航栏,鼠标悬浮的时候字体颜色发生变化. 3. 主体分 ...

  8. @click,@click.native失效问题(原生js代码innerHTML中填充vue页面,页面中点击事件失效)

    解决方式: window.mapVue = this <input onclick="window.mapVue.locusPath()" type="button ...

  9. speedtest测速

    wget https://raw.github.com/sivel/speedtest-cli/master/speedtest.py chmod a+rx speedtest.py mv speed ...

  10. hadoop服务异常,磁盘坏道critical medium error,dev sdh,sector xxxx

    运行spark之后,部分任务失败,排查查看操作系统日志(/var/log/message),发现磁盘坏道,导致服务异常.异常主要错误"critical medium error,dev sd ...