C/C++
文章平均质量分 67
时间文盲
不期而遇,简单一点。
展开
-
给定字符串先序和中序遍历,求后序遍历
还是某影音题,第二次笔试只要求非递归实现后序就行了。这题在《编程之美》上有原题,当初过了一遍,没放心上。今天再来做,就把书上的例子搬上来吧。 思路:根据先序和中序重建树,再遍历。首先,求出根节点左右子树,此时,左右子树的先序和中序同样已知,完成递归。 代码实现:/* 给点前序和中序遍历,求后序遍历 */typedef struct TreeNode{ char va原创 2013-09-20 10:59:09 · 1437 阅读 · 0 评论 -
TDD培训回演:四则运算(总结)
前言上周末参加了一次代码培训,首次接触了TDD(Test -Driven Development)开发方式。总的来说,能够接受一种新的编程思想,收获不小。本来是打算当天回家就做下培训内容的总结,结果回家有了其他活动,然后拖到这两天。先是抽时间把培训内容代码的演练自己搞了一遍,主要是回忆整个开发的过程,然后在这里我再记录下,分享TDD开发的魅力。关于TDD介绍的文章网上很多,想了解下的同学可以参考下这篇博文《浅谈测试驱动开发(TDD)》。原创 2014-09-27 15:15:36 · 2027 阅读 · 0 评论 -
NCURSES库若干问题研究
最近几天继续手头自己的xcon终端程序,遇到了输入方向键及退格删除键时的若干问题。在解决处理这些问题的过程中,逐步接触到了NCURSES库,所以记录下。原创 2017-08-27 11:44:38 · 345 阅读 · 0 评论 -
C语言常见经典面试题集锦(更新中)
准备下常见的C语言面试题,一般都是些经典的C程序(诸如strcmp, strcpy, atoi...),觉得把这些零碎题都集锦下,方便以后复习或者用到。题目是其次,关键是思路。数字 / 字符转换字符转数字,这个是百度百科上的实现,个人觉得很简短了,就此贴上:void atoi(const char *str){ int neg_flag = 0; int res = 0;原创 2013-10-07 16:16:22 · 1420 阅读 · 0 评论 -
不用Sqrt,求整数开方问题(精确到0.001)
简介 创新工厂题,刚开始我是不会做的,而且全没思路。回来度娘了一堆,搜的结果中比较多的是什么牛顿迭代的算法,然后我就没细看了。我就琢磨,创新出这题就为了考这个东西?这样太没劲了吧,然后就搁下了。昨天偶然看到别人博客上这道题解法,一看就知道做了,非常easy,然后自己按照他说的思路和算法,实践了一遍。 思路:二分法,逐步逼近期望值。原创 2013-09-20 12:58:15 · 2285 阅读 · 3 评论 -
C++学习与实践(四):类的初始化
前言这两周的任务做测试,实质就是熟悉设备调试环境,晚上时间在杂书及《北平无战事》上面花费比较多,周末也都有了骑行活动安排,学习上面自然稍微拖了后腿。废话不多说,继续基础知识。类的初始化类的初始化两种:显示初始化表、调用构造函数。显示初始化优缺点:显示初始化只能被应用在所有数据成员都是public的类对象上;显示初始化是根据数据成员被声明的顺序来解析,增加意外与错误的可能性;通过显示初始化,用常量值给大型数据结构直接赋值比较有效;原创 2014-11-23 18:31:18 · 897 阅读 · 0 评论 -
C++学习与实践(一):const引用与string类型
前言 即将开展的任务主打C++,不敢说以前没有接触,但实在都是零散的了解(与能参与项目开发还有非常大差距),所以打算从头开始C++的学习与实践,在此记录过程。知识重点昨天通过一道题目的练习,基本理解并掌握以下几个知识点:原创 2014-10-19 16:32:20 · 2154 阅读 · 1 评论 -
C++学习与实践(三):类
前言记录看到的知识点前言记录看过的知识点,有太多东西需要学习,一件一件来吧。类1,类包含类头和类体。类头由关键字class及其后面类名构成;类体由一对花括号包围起来。类定义后面必须接分号或声明;2,在类体中对类的数据成员和成员函数进行声明,并指定这些成员的访问级别。类体中所有成员构成类成员表;3,类成员访问级别实质是为了信息隐藏,即防止程序的函数直接访问类类型的内部表示而提供的一种形式化机制。访问级别通过访问限定符:public/private/protected指定:原创 2014-11-08 20:37:32 · 976 阅读 · 0 评论 -
TDD练习:保龄球计分
前言培训遗留作业,计划放在国庆空闲时间做,所以这算是走计划节奏。另外,真的是不喜欢做这些题,虽然实现以后发现很简单。但是没实现之前,多少还是觉得有些困难,可能是自己做题天少。。(不知道别人做题时候啥感觉)另外,做这些题我是感觉完全搭不上算法的边,可能是我自己没专门学过的原因吧,基本上纯粹是按照题的说明需求,然后自己思考,整理思路,然后实现...过程就是这样。原创 2014-10-05 19:46:56 · 2759 阅读 · 0 评论 -
C++学习与实践(二):vector类型与iterator迭代器
前言这周基本在看项目代码及其中的类图关系,都还过的去。继续补上之前的基础,相当于再次复习。vector类型简单来说,vector类型类似于C语言的数组类型,表示一段连续的内存区域,每个元素被顺序存储在该段内存中。随机访问效率高。vector类型两种习惯用法:数组习惯(与C数组用法一致,略)和STL习惯。原创 2014-11-02 23:06:43 · 1074 阅读 · 0 评论 -
两字符串的最长公共子串问题
某影音笔试题,说实话,这种题网上非常普遍,但笔试时候能完整无差错写出来的,只能呵呵了... 闲着做这题,整理了下,把这个程序贴上来吧。仅供参考,效率就不说了。 思路:遍历字符串,然后记录最长的子串。 代码如下:/* 求公共子串长度 */typedef struct recode{ int length; char *str;}ReNode;i原创 2013-09-19 23:59:20 · 975 阅读 · 3 评论 -
报数游戏
明天要参加机试,找个题练练,找找手感,其实,今天已经改代码改吐了。。。(就不吐槽了) 题目:设有N 个人围坐一圈并按顺时针方向从1 到N 编号,从第S个人开始进行1 到M报数,报数到第 M个人时,此人出圈,再从他的下一个人重新开始1 到 M的报数,如此进行下去直到所有的人都出圈为止。现要打印出出圈次序。 输入:n 游戏总人数 s 报数的起始编号 m 报数的数值 输原创 2013-10-10 22:25:21 · 1286 阅读 · 0 评论 -
n*n网格路径问题
最近做笔试题,网上各路牛人的答案给LZ提供了相当大帮助,也有了把自己的东西整理整理的兴趣。 某影音题:n*n网格,只能往右或下走,从右上角到左下角路径总数? 思路:网格每个点都只能向右走或下走两种选择,而网格边上的点则始终只有一条,所以完全可以用递归实现。 代码实现:int func(int m, int n){ if(m==0 || n==0)原创 2013-09-19 14:45:58 · 3441 阅读 · 0 评论 -
链接、装载与库:MiniCRT移植
简介 《程序员的自我修养》最后一章中有个小型C运行库(MiniCRT)的实现,于是想着至少要亲自手动再实现一遍。在实现的整个过程中碰到了一些编译执行的问题,这里做下记录总结。其中,《MiniCRT 64位 Linux系统移植记录》(下文简称《记录》)这篇博文为我提供了很大的帮助,在此表示感谢。原创 2015-05-23 18:30:08 · 1689 阅读 · 0 评论