数据输入输出加速模板

http://blog.csdn.net/shahdza/article/details/6317011 该帖的改进版本

无返回值,非负整数输入

template <class T>
inline void input(T &ret)
{
    char c; ret=0;
    while(c=getchar(),c<‘0‘||c>‘9‘);
    while(c>=‘0‘&&c<=‘9‘) ret=ret*10+(c-‘0‘),c=getchar();
}

有返回值,非负整数输入

template <class T>
inline bool is_input(T &ret)
{
    char c; ret=0;
    while(c=getchar(),c<‘0‘||c>‘9‘) if(c==EOF) return 0;
    while(c>=‘0‘&&c<=‘9‘) ret=ret*10+(c-‘0‘),c=getchar();
    return 1;
}

有返回值,整数输入

template <class T>
inline bool is_input(T &ret)
{
    char c; int sgn;
    while(c=getchar(),c!=‘-‘&&(c<‘0‘||c>‘9‘)) if(c==EOF) return 0;
    sgn=(c==‘-‘)?-1:1; ret=(c==‘-‘)?0:(c-‘0‘);
    while(c=getchar(),c>=‘0‘&&c<=‘9‘) ret=ret*10+(c-‘0‘);
    ret*=sgn;
    return 1;
}

有返回值,非负实数输入

template <class T>
inline bool is_input(T &ret)
{
    char c; T bit=0.1;
    while(c=getchar(),(c<‘0‘||c>‘9‘)&&c!=‘.‘) if(c==EOF) return 0;
    ret=c-‘0‘;
    while(c=getchar(),c>=‘0‘&&c<=‘9‘) ret=ret*10+(c-‘0‘);
    if(c!=‘.‘) return 1;
    while(c=getchar(),c>=‘0‘&&c<=‘9‘) ret+=(c-‘0‘)*bit,bit/=10;
    return 1;
}

有返回值,实数输入

template <class T>
inline bool is_input(T &ret)
{
    char c; int sgn; T bit=0.1;
    while(c=getchar(),(c<‘0‘||c>‘9‘)&&c!=‘-‘&&c!=‘.‘) if(c==EOF) return 0;
    sgn=(c==‘-‘)?-1:1; ret=(c==‘-‘)?0:(c-‘0‘);
    while(c=getchar(),c>=‘0‘&&c<=‘9‘) ret=ret*10+(c-‘0‘);
    if(c!=‘.‘){ ret*=sgn; return 1; }
    while(c=getchar(),c>=‘0‘&&c<=‘9‘) ret+=(c-‘0‘)*bit,bit/=10;
    ret*=sgn;
    return 1;
}

非负整数输出

void out(int x)
{
    if(x>9) out(x/10);
    putchar(x%10+‘0‘);
}
时间: 2024-12-17 22:17:12

数据输入输出加速模板的相关文章

pandas小记:pandas数据输入输出

http://blog.csdn.net/pipisorry/article/details/52208727 数据输入输出 数据pickling pandas数据pickling比保存和读取csv文件要快2-3倍(lz测试不准,差不多这么多). ltu_df.to_pickle(os.path.join(CWD, 'middlewares/ltu_df')) ltu_df = pd.read_pickle(os.path.join(CWD, 'middlewares/ltu_df')) [re

分类数据到文章模板

public function flcx(){ header("Content-type:text/html;charset=utf-8");//utf8编码 $id = $_GET['id'];//接收id $Dao = M();//用原生sql查询 $sql = "SELECT xp_wztj.bt,xp_wztj.time,xp_wztj.gjz,xp_wztj.wz,xp_wzfl.name FROM xp_wztj, xp_wzfl WHERE xp_wztj.ui

C++学习笔记之由文本文件读取数据到vector模板建立的二维数组 并存储为新的文本文件

阅读本文可首先参考: C++学习笔记之输入.输出和文件 测试数据: 1 /*读取txt文件到二维数组*/ 2 #include <iostream> 3 #include <fstream> 4 #include <vector> 5 #include <string> 6 7 using namespace std; 8 9 typedef vector< vector<int> > D2array; //二维数组 10 typed

[SAP ABAP开发技术总结]数据输入输出转换、小数位/单位/货币格式化

目录导航 声明:原创作品,转载时请注明文章来自SAP师太博客,并以超链接形式标明文章原始出处,否则将追究法律责任!原文出自: 15.             数据格式化.转换... 123 15.1.         数据输入输出转换... 123 15.1.1.     输出时自动转换... 123 15.1.2.     输入时自动转换... 124 15.1.3.     通过转换规则输入输出函数手动转换... 124 15.2.         数量小位数格式化... 125 15.2.

C#导出数据至excel模板

开源分享最近一个客户要做一个将数据直接输出到指定格式的Excel模板中,略施小计,搞定 其中包含了对Excel的增行和删行,打印预览,表头,表体,表尾的控制 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient; using System.Reflection; using System

java之数据填充PDF模板

声明:由于业务场景需要,所以根据一个网友的完成的. 1.既然要使用PDF模板填充,那么就需要制作PDF模板,可以使用Adobe Acrobat DC,下载地址:https://carrot.ctfile.com/dir/11269771-27158812-194d66/29433907/ (使用特别破解版),安装步骤就省略了. 2.开始制作模板 a)使用wps制作一个表格,并转为PDF文件保存 b)使用Adobe Acrobat DC打开保存的PDF文件,然后搜索 "准备表单" ,点击

各种JS模板引擎对比数据(高性能JavaScript模板引擎)

最近做了JS模板引擎测试,拿各个JS模板引擎在不同浏览器上去运行同一程序,下面是模板引擎测试数据:通过测试artTemplate.juicer与doT引擎模板整体性能要有绝对优势: js模板引擎 JavaScript 模板引擎作为数据与界面分离工作中最重要一环,越来越受开发者关注,从而出现在各大型网站 Twitter.淘宝网.新浪浪微博.腾讯QQ空间.腾讯微博等.那么他们各自性能怎么样?请看下面. 通常模板引擎 baiduTemplate(百度)\artTemplate(腾讯)\juicer(淘

C# 导出数据到Excel模板中(转)

今天做报表的时候遇到了多表头的问题,而且相应的报表的格式都一样.所以就采用了报表模板的方式来进行. 第一步:在开发的当前项目中引入:Microsoft.Office.Interop.Excel:System.Reflection:命名空间. 第二步:获取要导出的数据: 第三步:创建一个Excel 应用程序: //需要添加 Microsoft.Office.Interop.Excel引用 Microsoft.Office.Interop.Excel.Application app = new Mi

c# 导出数据到Excel模板

最近在做一个发邮件的功能,客户要求需要导出一个Excel附件,并给了附件的格式, eg: Last Name 姓 First Name 名 Chinese Characters汉字书写(仅大陆人填写)       实现方式有两种: 一.使用Microsoft.Office.Interop.Excel组件的方式 二.使用NPOI的方式 下面讲一下这两种方式的具体实现: 一.使用Microsoft.Office.Interop.Excel组件的方式 该方式需要引入Microsoft.Office.I