C/C++
文章平均质量分 69
liygcheng2010
这个作者很懒,什么都没留下…
展开
-
浙江大学PAT上机题解析之1015. 德才论 (25)
PAT 德才论 解题报告原创 2013-09-01 22:05:41 · 3004 阅读 · 0 评论 -
九度OnlineJudge之1010 A + B
题目描述: 读入两个小于100的正整数A和B,计算A+B.需要注意的是:A和B的每一位数字由对应的英文单词给出.输入: 测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =",相邻两字符串有一个空格间隔.当A和B同时为0时输入结束,相应的结果不要输出.输出:原创 2013-09-10 20:27:45 · 1274 阅读 · 0 评论 -
提高程序运行效率的10个简单方法
对于每一个程序员来说,程序的运行效率都是一个值得重视,并为之付出努力的问题。但是程序性能的优化也是一门复杂的学问,需要很多的知识,然而并不是每个程序员都具备这样的知识,而且论述如何优化程序提高程序运行效率的书籍也很少。但是这并不等于我们可以忽略程序的运行效率,下面就介绍一下本人积累的一些简单实用的提高程序运行效率的方法,希望对大家有所帮助。注:以C/C++程序为例一、尽量减转载 2013-09-10 17:03:22 · 1547 阅读 · 1 评论 -
九度OnlineJudge之1009:二叉搜索树
题目描述: 判断两序列是否为同一二叉搜索树序列输入: 开始一个数n,(1接下去一行是一个序列,序列长度小于10,包含(0~9)的数字,没有重复数字,根据这个序列可以构造出一颗二叉搜索树。接下去的n行有n个序列,每个序列格式跟第一个序列一样,请判断这两个序列是否能组成同一颗二叉搜索原创 2013-09-10 20:04:31 · 1509 阅读 · 0 评论 -
九度OnlineJudge之1014:排名
题目描述: 今天的上机考试虽然有实时的Ranklist,但上面的排名只是根据完成的题数排序,没有考虑每题的分值,所以并不是最后的排名。给定录取分数线,请你写程序找出最后通过分数线的考生,并将他们的成绩按降序打印。输入: 测试输入包含若干场考试的信息。每场考试信息的第1行给原创 2013-09-11 14:20:25 · 1347 阅读 · 0 评论 -
九度OnlineJudge之1017:还是畅通工程
典型的最小生成树模板原创 2013-09-12 19:55:33 · 1558 阅读 · 0 评论 -
九度OnlineJudge之1018:统计同成绩学生人数
很简单的一道题,但是能够很好地体现Hash方法思想的一道题原创 2013-09-12 20:03:42 · 1598 阅读 · 0 评论 -
九度OnlineJudge之1020:最小长方形
一题简单的贪心原创 2013-09-12 20:26:46 · 1347 阅读 · 0 评论 -
九度OnlineJudge之1021:统计字符
题目描述: 统计一个给定字符串中指定的字符出现的次数。输入: 测试输入包含若干测试用例,每个测试用例包含2行,第1行为一个长度不超过5的字符串,第2行为一个长度不超过80的字符串。注意这里的字符串包含空格,即空格也可能是要求被统计的字符之一。当读到'#'时输入结束,相应的结果不要输出。输出:原创 2013-09-15 13:22:01 · 1495 阅读 · 1 评论 -
实用数据结构之二叉排序树小结
实用数据结构之二叉排序树小结:定义:满足以下条件的二叉树: 对于树上任意一个结点,其上的数值必大于等于其左子树上任意结点的数值 必小于等于其右子树上任意结点的数值故二叉排序树的插入:1.若当前树为空,则x为其根结点2.若当前结点大于x,则x插入其左子树, 若当前结点小于x,则x插入其右子树若当前结点等于x,则根据具体情况选择插入左子树或者右子树或者直接忽略例原创 2013-09-10 16:04:54 · 1342 阅读 · 0 评论 -
实用数据结构总结之二叉树遍历
二叉树简单总结:二叉树节点结构:struct Node{Node *lchild;//指向其左儿子节点的指针,当其不存在左儿子时为NULLNode *rchild;//指向其右儿子节点的指针,当其不存在右儿子时为NULL/*节点附加信息.....*/}对于该结构,先序遍历,中序遍历,后序遍历分别为:先序遍历:void preOrder(Node *T原创 2013-09-10 14:04:39 · 1236 阅读 · 0 评论 -
九度OnlineJudge之1012:畅通工程
题目描述: 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?输入: 测试输入包含若干测试原创 2013-09-10 23:58:10 · 1430 阅读 · 0 评论 -
九度OnlineJudge之最短路径问题
解决:1004题目描述: 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。输入: 输入n,m,点的编号是1~n,然后是m行,每行4个数 a,b,d,p,表示a和b之间有一条边,且原创 2013-09-07 11:38:48 · 1490 阅读 · 0 评论 -
浙江大学PAT上机题解析之1014. 福尔摩斯的约会 (20)
1014. 福尔摩斯的约会 (20)时间限制 50 ms内存限制 32000 kB代码长度限制 8000 B判题程序 Standard 作者 CHEN, Yue大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akD原创 2013-09-02 00:20:09 · 8104 阅读 · 8 评论 -
浙江大学PAT上机题解析之3-04. 一元多项式的乘法与加法运算
多项式 乘法与加法原创 2013-09-02 11:26:46 · 3658 阅读 · 0 评论 -
浙江大学PAT上机题解析之3-09. 队列中的元素排序
给定一个队列,请用一系列合法的队列操作函数,包括:(1) int IsEmptyQ(Queue Q)(2) void AddQ(Queue Q, ElementType item)(3) ElementType DeleteQ(Queue Q)将队列中的元素从小到大排序。注意:不能直接通过数组下标直接访问队列(数组)中的元素。可以使用一个辅助队列。排序后的结果应存放在原队列中。原创 2013-09-02 19:41:42 · 3275 阅读 · 7 评论 -
浙江大学PAT上机题解析之3-05. 求链式线性表的倒数第K项
浙大PAT 链式线性表倒数第K项原创 2013-09-02 12:10:18 · 4171 阅读 · 0 评论 -
浙江大学PAT上机题解析之5-05. QQ帐户的申请与登陆
实现QQ新帐户申请和老帐户登陆的简化版功能。最大挑战是:据说现在的QQ号码已经有10位数了。输入格式说明: 输入首先给出一个正整数N(5),随后给出N行指令。每行指令的格式为:“命令符(空格)QQ号码(空格)密码”。其中命令符为“N”(代表New)时表示要新申请一个QQ号,后面是新帐户的号码和密码;命令符为“L”(代表Login)时表示是老帐户登陆,后面是登陆信息。QQ号码为一个不超过10原创 2013-09-03 23:19:53 · 2899 阅读 · 0 评论 -
实用数据结构总结之哈夫曼树小结
哈夫曼树:定义: 给定n个节点和它们的权值,以它们为叶子节点构造一颗带权路径和最小的二叉树,该二叉树即为哈夫曼树,亦称最优树。求哈夫曼树算法步骤:1.将所有节点放入集合K2.若集合K中剩余节点大于2个,则取出其中权值最小的两个节点,构造它们同时为某个新节点的左右儿子,该新节点是它们共同的双亲节点,设定它的权值为其两个儿子节点的权值和。并将该父亲节点放入集合K,重复步骤原创 2013-09-09 22:27:03 · 3931 阅读 · 0 评论 -
浙江大学PAT上机题解析之1007. Maximum Subsequence Sum (25)
Given a sequence of K integers { N1, N2, ..., NK }. A continuous subsequence is defined to be { Ni, Ni+1, ..., Nj } where 1 <= i <= j <= K. TheMaximum Subsequence is the continuous subsequence whi原创 2013-09-10 21:23:49 · 2288 阅读 · 1 评论 -
九度OnlineJudge之1022:游船出租
题目描述: 现有公园游船租赁处请你编写一个租船管理系统。当游客租船时,管理员输入船号并按下S键,系统开始计时;当游客还船时,管理员输入船号并按下E键,系统结束计时。船号为不超过100的正整数。当管理员将0作为船号输入时,表示一天租船工作结束,系统应输出当天的游客租船次数和平均租船时间。 注意:由于线路偶尔会有故障,可能出现不完原创 2013-09-15 16:42:06 · 1435 阅读 · 0 评论 -
九度OnlineJudge之1023:EXCEL排序
题目描述: Excel可以对一组纪录按任意指定列排序。现请你编写程序实现类似功能。 对每个测试用例,首先输出1行“Case i:”,其中 i 是测试用例的编号(从1开始)。随后在 N 行中输出按要求排序后的结果,即:当 C=1 时,按学号递增排序;当 C=2时,按姓名的非递减字典序排序;当 C=3时,按成绩的非递减排序原创 2013-09-15 17:32:13 · 1695 阅读 · 0 评论 -
九度OnlineJudge之1027:欧拉回路
//欧拉回路(无向图)经典解法:并查集+奇偶判断 (有向图也很简单,只要将Degree标志量拆分成inDegree和outDegree加之稍微变化一点的奇偶判断即可)原创 2013-09-19 03:15:53 · 1765 阅读 · 0 评论 -
今天帮学长做的一个文件处理的工具
今天做了一个关于文件操作的数据处理,难度不大,但是对于C++文件操作的复习感觉还是有点作用的,下面就开始吧。。。1.C++文件流简介 流,简单来说就是建立在面向对象基础上的一种抽象的处理数据的工具。在流中,定义了一些处理数据的基本操作,如读取数据,写入数据等,程序员是对流进行所有操作的,而不用关心流的另一头数据的真正流向。流不但可以处理文件,还可以处理动态内存、网络数据等多种数据形式原创 2013-11-19 01:16:40 · 4518 阅读 · 6 评论 -
C & C++的编译过程详解
C/C++编译过程C/C++编译过程主要分为4个过程1) 编译预处理2) 编译、优化阶段3) 汇编过程4) 链接程序一、编译预处理(1)宏定义指令,如#define Name TokenString,#undef等。 对于前一个伪指令,预编译所要做的是将程序中的所有Name用TokenString替换,但作为字符串常量的 Name则不被替换。对于后者转载 2013-12-15 21:26:11 · 1271 阅读 · 0 评论 -
windows编程经典书籍
本人是刚刚开始学习windows编程的,感觉看雪学院的大牛很NB.想找一些书籍来看学习学习,可是不知道看哪些书好.驱动,对菜鸟们来说真是一个很深奥的话题,所以 ,我找来了这篇文章供大家分享,以后大家发现什么好书就在楼下跟贴吧! 作者:Harry Meng 来源:互联网.也许我的阅读面过于狭小,书架里基本上都是Jeffrey Richter,Charles Petzold,侯捷老师以及潘转载 2013-12-22 15:53:41 · 1562 阅读 · 0 评论 -
C++中extern “C”含义深层探索
1.引言C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。转载 2013-12-22 15:33:39 · 974 阅读 · 0 评论 -
C++中静态链接库与动态链接库的介绍与使用
C++中静态链接库与动态链接库的介绍与使用一,简介1.静态库函数与数据被编译进一个二进制文件(通常扩展名为.lib),在使用静态库的情况下,在编译链接可执行文件时,链接器从库中复制这些函数和数据并把它们和应用程序的其他模块组合起来创建最终的可执行文件(.EXE),当发布产品时,只需要发布这个可执行文件,并不需要发布使用了的静态库2.动态库在使用动态库的时候,往往需要提供两个原创 2013-12-26 12:47:55 · 1702 阅读 · 0 评论 -
C++中我们为什么提倡使用内存池技术?
1.什么是内存池技术及为什么要设计自己的内存池? 通常我们习惯直接使用new、malloc等API申请分配内存,这样做的缺点在于:由于所申请内存块的大小不定,当频繁使用时会造成大量的内存碎片并进而降低性能。C/C++的内存分配(通过malloc或new)可能需要花费很多时。更糟糕的是,随着时间的流逝,内存(memory)将形成碎片,所以一个应用程序的运行会越来越慢当它运行了很长时原创 2013-12-27 23:52:16 · 10577 阅读 · 0 评论 -
C++常见问题之一void&null&0
一. 先从void说起 void 顾名思义,空的意思,在编写C++程序入口函数main的时候,我们经常会看到这样的代码:void main(){//some code…} 在VC++平台中是可以正确编译,链接,执行的,但是在Linux环境下却会产生异常,这里会是怎么回事呢?原因恐怕有二。 其一:市面上一些经典书籍的误导,一个非常有代表性的就是谭浩原创 2014-03-03 00:40:10 · 2534 阅读 · 2 评论 -
C++常见问题之二#define使用中的陷阱
一.使用#define宏应注意的问题1.使用宏定义表达式的时候,加括号是一个好习惯首先我们来看一段简短的代码,并试着分析其输出:#include #define Add(a,b) a+bint main(){ std::cout<<Add(1,2)*Add(2,3)<<std::endl; return 0;}结果输出:很显然,当我们看原创 2014-03-10 01:55:19 · 2885 阅读 · 0 评论 -
c/c++: uint8_t uint16_t uint32_t uint64_t size_t ssize_t数据类型
在nesc的代码中,你会看到很多你不认识的数据类型,比如uint8_t等。咋一看,好像是个新的数据类型,不过C语言(nesc是C的扩展)里面好像没有这种数据类型啊!怎么又是u又是_t的?很多人有这样的疑问。论坛上就有人问:以*_t结尾的类型是不是都是long型的?在baidu上查一下,才找到答案,这时才发觉原来自己对C掌握的太少。那么_t的意思到底表示什么?具体的官方答案没有找到,不过我觉得有转载 2013-12-02 10:16:58 · 1602 阅读 · 0 评论 -
你在用C++编程时遇到的最多的几个汉字是啥?
首先,什么都不说,我们来看一段代码,然后试着编译运行:#include #include using namespace std;char* h = (char*)malloc(2*sizeof(char));int main(){ cout<<h<<endl; system("pause"); return 0;}运行结果截图:问题一:为什么会出现“屯”原创 2013-11-21 00:52:25 · 3832 阅读 · 5 评论 -
TIF图像文件的读取(c++代码)
一 TIF图像介绍 TIFF是最复杂的一种位图文件格式。TIFF是基于标记的文件格式,它广泛地应用于对图像质量要求较高的图像的存储与转换。由于它的结构灵活和包容性大,它已成为图像文件格式的一种标准,绝大多数图像系统都支持这种格式。 TIFF 是一个灵活适应性强的文件格式,通过在文件头中包含“标签”它能够在一个文件中处理多幅图像和数据。标签能够标明图像的如图像大小这样的基本转载 2013-11-19 23:07:09 · 16446 阅读 · 3 评论 -
九度OnlineJudge之1033:继续xxx定律
题目描述: 当n为3时,我们在验证xxx定律的过程中会得到一个序列,3,5,8,4,2,1,将3称为关键数,5,8,4,2称为覆盖数。现在输入n个数字a[i],根据关键数与覆盖数的理论,我们只需要验证其中部分数就可以确定所有数满足xxx定律,输出输入的n个数中的关键数。如果其中有多个关键数的话按照其输入顺序的逆序输出。输入: 输入数据包含多个用例,每个用例首先包原创 2013-10-05 15:44:49 · 1195 阅读 · 0 评论 -
九度OnlineJudge之1034:寻找大富翁
题目描述: 浙江桐乡乌镇共有n个人,请找出该镇上的前m个大富翁.输入: 输入包含多组测试用例. 每个用例首先包含2个整数n(0 n和m同时为0时表示输入结束.输出: 请输出乌镇前m个大富翁的财产数,财产多的排前面,如果大富翁不足m个,则全部输出,每组输出占一行.样例输入: 3 12 5 -15 3原创 2013-10-05 16:03:34 · 1290 阅读 · 0 评论 -
线段树
已迁往:http://www.wypblog.com/archives/144一、线段树基本概念 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。 对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉转载 2013-09-20 14:07:44 · 1001 阅读 · 0 评论 -
九度OnlineJudge之1036:Old Bill
题目描述: Among grandfather's papers a bill was found. 72 turkeys $_679_ The first and the last digits of the number that obviously represented the total price of those turkeys are replace原创 2013-10-06 16:20:10 · 1325 阅读 · 0 评论 -
九度OnlineJudge之1032:ZOJ
题目描述: 读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的仍然按照ZOJ的顺序输出。输入: 题目包含多组用例,每组用例占一行,包含ZOJ三个字符,当输入“E”时表示输入结束。1输出: 对于每组输入,请输出一行,表示按照要求处理后的字符串。具体可见样例。样例输入: ZZOOOJJJ原创 2013-09-24 21:49:07 · 1214 阅读 · 0 评论 -
STL 容器之 priority_queue小结
STL 容器之 priority_queue小结优先队列是一种容器适配器类型,它设计为第一个元素总是它所包含的的最大的元素,但这只是默认情况,默认算子为less算子,如果想要使第一个元素为最小的元素,那就应该使用greater算子,当然你也可以自己定义算子。 优先队列很类似于数据结构中的堆结构,因此在一般编程时我们都倾向于 使用优先队列来模拟堆的操作(个人经常这么干)原创 2013-09-14 00:23:02 · 2659 阅读 · 1 评论