自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

stpeace的专栏

涛哥不知何许人也,亦不详其姓字。好读书,求甚解。常著文章自娱,颇示己志。忘怀得失,有始有终......

原创 PROGRAMMING IN C++ Nell Dale Chip Weems

书评:         书很不错,英文版的,非常基础,适合C++入门者,也适合做教材,但不适合想深入学习C++的读者。         当然,如果你有一定的C或者C++基础,但英语比较差,我非常真诚地跟你说,这本书绝对比你的英语教材要好。当然,如果你没有C或者C++基础,英语又比较菜,建议别看这本...

2013-06-23 23:16:47

阅读数 6824

评论数 0

原创 《信号与线性系统分析》 吴大正 (与电子、通信专业的同学共勉)

书评:         我发现了一个有趣的现象,在中国,理论或技术方面的“教材”,那根本就称不上教材,顶多相当于一个供查阅用的手册。说实话,我承认,书的作者的确搞懂了那些知识,但是,有多少作者真正从读者的角度出发来写书呢?少,很少,相当少。像谭浩强老师写C语言教材那样专心写书的人,有,但几希,几希...

2013-06-23 20:32:38

阅读数 20214

评论数 4

原创 Google Protocol Buffer(GPB)使用之完全解析三:如何使用GPB?

下面,我们来介绍一下如何使用GPB, 首先说明一下,我使用的环境是Windows XP + VS2005, 所用语言是C++, 如果你的环境不同,请参阅其它相关资料。其实,无论什么环境,都是大同小异的,即使环境不同,你也可以采用与下面类似的步骤来进行操作。下面,我们来介绍如何使用GPB. 1....

2013-06-23 14:30:58

阅读数 10862

评论数 0

原创 Google Protocol Buffer(GPB)使用之完全解析二:有了GPB的日子怎么过?什么是GPB?

通过前面博文的学习,我们知道:没有GPB,客户端的日子很难过,现在略作回顾,没有GPB的日子是这样的:  #include #include using namespace std; int main() { int id = 123456; // 字段id char str[] =...

2013-06-23 13:45:49

阅读数 8963

评论数 0

原创 Google Protocol Buffer(GPB)使用之完全解析一:没有GPB的日子怎么过?

最近,我打算介绍一下一个好用的工具,即Google Protocol Buffer(GPB)的使用,这真的是一个非常有用的工具,你应该学它,并熟练使用它。         通常来讲,应该先介绍GPB是什么,但是,在这篇文章里,我并不打算介绍什么是GPB, 而是用浅显的例子来说明:如果没有GPB, ...

2013-06-22 23:19:43

阅读数 8532

评论数 0

原创 fprintf和fwrite的一点“怪异”现象

我们先来看一个简单的程序: #include int main() { int a = 0; int len = sizeof(a); // 相当于在log1中以文本文件方式输入0 // 文件对应的比特串实际为00110000 FILE *fp1 = fopen("l...

2013-06-22 22:14:17

阅读数 6955

评论数 0

原创 二进制文件一定比文本文件节省空间吗?

看程序: #include int main() { int a = 9; int len = sizeof(a); FILE *fp1 = fopen("log1", "w"); fprintf(fp1, "%d", a)...

2013-06-22 19:51:04

阅读数 7635

评论数 0

原创 C语言中的路径:/和\\ 都正确 (内附 mkdir 函数的用法)

以前,在C语言中,我经常用的路劲符号是\\, 例如: #include #include int main() { mkdir("folder"); // 在当前目录下建立一个folder文件夹 FILE *fp = fopen("folder\\f...

2013-06-21 17:39:54

阅读数 9802

评论数 0

原创 小心内存被啃掉了

运行下面这个程序试试,你就知道了(温馨提示:该程序不会对你的计算机造成伤害)。 #include using namespace std; int main() { int *p; while(1) { p = new int[1024 * 1024]; // 每次损失4MB }...

2013-06-20 17:39:02

阅读数 5904

评论数 0

原创 突然有点怀念自己的初恋:Borland的Turbo C 2.0

现在,大家学C语言,至少也应该用VC++6.0或其它的IDE了,不知道有没有学校还在用那个TC2.0.          当年,读大学的时候,我就是用TC2.0, 开始阶段很痛苦,因为不用鼠标不习惯(其实,完全可以自己在.c文件中编写好程序,然后用TC2.0来load进去,不需要每次都在那个蓝色的...

2013-06-20 16:44:26

阅读数 6980

评论数 0

原创 《PowerPoint 2007完全掌握》 蔺丹 (感叹一句:花钱买时间,物超所值!)

书评:         书很基础,都是一些傻瓜式操作,图文并茂,让读者每一步都能实现,适合ppt入门,还算不错啦。但是,书买回来,感觉书是很旧了啊,难道是ppt2007就应该很旧?另外,书的光盘送错了啊,也不知道是咋搞的,反正,对我来说,光盘几乎没啥用。        一直感觉自己的p...

2013-06-15 14:48:40

阅读数 6362

评论数 0

原创 图的邻接表表示法及顶点入度、出度的计算方法

设图为:       则图的邻接表为:        下面,我们看看程序: #include #define VERTEX 4 using namespace std; // 边表结点 typedef struct node { int index; struct node *n...

2013-06-12 14:57:22

阅读数 45910

评论数 10

原创 图的邻接矩阵表示法及顶点入度、出度的计算方法

设图(graph)的结构为:         下面,我们来建立这个图, 并求出各个顶点的入度和出度,程序如下: #include #define MAX_VERTEX 20 // 最大顶点数 #define VERTEX 4 // 实际顶点数 using namespace st...

2013-06-12 13:15:19

阅读数 27281

评论数 4

原创 AVL树(考研的同学需要注意其定义)的判定(某公司2012年校园招聘笔试题目)

平衡二叉树又叫AVL(人名的简称)树,在不同的教材中,对AVL树的定义是不同的。考研指定的教材是严奶奶编写的教材,我们来看看该书上(P233)是如何定义的:        AVL树或者是一棵空树,或者满足以下条件:       (1). 其左子树和右子树都为AVL树       (2). 左子树和...

2013-06-11 21:28:35

阅读数 8072

评论数 0

原创 BST中所有结点之和(设结点个数为n,且中序遍历为等差数列)

其实,就是要求最小值和最大值之和, 程序如下: #include using namespace std; // BST的结点 typedef struct node { int key; struct node *lChild, *rChild; }Node, *BST; // 在给...

2013-06-09 23:14:36

阅读数 6563

评论数 0

原创 从小到大输出二叉排序树(BST)所有结点的值

BST的中序遍历即为严格单调的遍历,故求中序遍历即可,程序如下: #include using namespace std; // BST的结点 typedef struct node { int key; struct node *lChild, *rChild; }Node, *BST...

2013-06-09 22:55:46

阅读数 8792

评论数 2

原创 二叉排序树(BST)的查找算法(非递归算法)

#include using namespace std; // BST的结点 typedef struct node { int key; struct node *lChild, *rChild; }Node, *BST; // 在给定的BST插入element, 使之称为新的BST...

2013-06-09 22:48:53

阅读数 7934

评论数 0

原创 二叉排序树(BST)的查找算法(递归算法)

#include using namespace std; // BST的结点 typedef struct node { int key; struct node *lChild, *rChild; }Node, *BST; // 在给定的BST插入element, 使之称为新的BST...

2013-06-09 22:32:30

阅读数 17200

评论数 0

原创 二叉排序树(BST)的判定(其实不容易)

对于BST,一定要理解透彻,下面,我们给出一个有错误的BST判定程序: // 程序中的isBST函数的逻辑是有错误 #include #define N 7 using namespace std; // BST的结点 typedef struct node { int key; st...

2013-06-09 22:08:08

阅读数 10842

评论数 9

原创 二叉排序树(BST)/二叉查找树的建立(BST是笔试面试的常客)

二叉排序树又叫二叉查找树,英文名称是:Binary Sort Tree.  BST的定义就不详细说了,我用一句话概括:左 。 根据这个原理,我们可以推断:BST的中序遍历必定是严格递增的。          在建立一个BST之前,大家可以做一下这个题目(很简单的):         已知,某树的先...

2013-06-09 19:49:03

阅读数 78131

评论数 20

原创 fflush函数有什么作用?

说明: 有的朋友对本文的程序结果提出质疑,所以这里说一下,我是在Windows VC++6.0上测试的, 请注意平台和环境的不同。 先来复习一个简单单词吧: flush(注意只有一个f):冲洗,冲刷,冲掉。 例句:I flushed the toilet and went bac...

2013-06-09 12:39:27

阅读数 42780

评论数 18

原创 去掉字符串中的所有空格

要去掉字符串中所有的空格,思路很自然:碰到一个空格,将其删掉,然后后面的字符前移,但当空字符比较多的时候,总这么移动,难道不复杂么?还是想想另外的办法吧。       上面的方法时间复杂度比较高,下面,我们用空间来换时间: #include using namespace std; void...

2013-06-09 11:35:29

阅读数 9116

评论数 0

原创 如何利用.bat文件来对其它众多文件进行批量改名?

批处理代码如下: @echo off set /a total=0 set prefix=MY for %%m in (*) do ( if not "%%m" == "myBat.bat" ( ren %%m %prefix%%%m set /...

2013-06-07 15:18:39

阅读数 14810

评论数 2

原创 设计Windows shell中set 命令的人应该好好反省一下自己(用set处理串时请注意空格)

下面,我们仍讨论批处理命令,先看一个简单的set的应用例子: @echo off set /a sum = 0 echo sum is %sum% set /a sum = sum + 1 echo sum is %sum% set /a sum = sum + 1 echo sum...

2013-06-07 15:01:25

阅读数 7568

评论数 0

原创 .bat文件中for的用法

for是批量处理的一个关键,如下: @echo off set /a total = 0 for %%x in (*.pdf) do ( echo %%x echo. set /a total = total + 1 ) echo %total%个pdf文件       上面程序的作...

2013-06-06 22:23:58

阅读数 8518

评论数 0

原创 .bat文件中set和setlocal的用法

set功能很强大的,如下: @echo off set xxx = "hello world" set xyz = "batch" set x set xxx = set x set xyz set x       其中set xxx = &qu...

2013-06-06 21:15:09

阅读数 15847

评论数 8

原创 .bat文件中if的用法

在C语言中,语法是非常灵活的,if 语句写起来非常自由,换行与不换行,括号放在哪里,都由程序员自己决定,但是,在.bat文件中,if 的使用就没有那么自由了,一旦括号格式不对,就会出错,我们先来看看if吧 @echo off if exist 1.txt (echo yes) ech...

2013-06-06 20:13:45

阅读数 25271

评论数 0

原创 .bat文件中call命令的用法

我们首先来复习一下goto命令,如下: @ echo off goto label echo 1 echo 2 :label echo 3 echo 4        输出结果为: 3 4        下面,我们来学学call, 如下: @ echo off call :la...

2013-06-06 18:45:07

阅读数 32920

评论数 4

原创 .bat文件中start, pause,goto以及rem的用法

我们先来看start, 其实start就是启动,我以前经常用matlab中的system来启动.exe文件,下面我们用start来启动.exe, .bat文件内容如下: @ echo off start calc start calc start calc      结果,连续启动了三个计算...

2013-06-06 17:30:50

阅读数 42551

评论数 0

原创 .bat文件中echo和@的用法

在F盘建立一个名称为myFile的文件夹, 把Windows系统的cmd.exe复制到myFile文件夹下,并在myFile中建立myBat.txt文件,改名为myBat.bat, 右击myBat.bat文件,选择文本文件的方式打开,进行编辑。以后,我就不再介绍这个简单的过程了。        ...

2013-06-06 16:46:23

阅读数 50998

评论数 0

原创 Windows批处理命令入门

首先,我们来复习一个简单的单词: batch : 批。  例句:A batch of new books arrived yesterday.        为了简便起见,不进行盘符切换,我在F盘建立了一个文件夹,名为myFile, 把Windows系统的cmd.exe...

2013-06-04 22:23:38

阅读数 7728

评论数 0

原创 我喜欢用的Windows快捷键

Windows快捷键很多,随便查查资料都可以看到几乎所有的快捷键,但是,我感觉有些快捷键不需要记忆(一些操作根本不常用,而且用鼠标又很好操作,何必要去用快捷键)。下面,仅列出我个人喜欢用的快捷键: 常见用法 快捷键 作用 F1   显示程序或系统帮助内容 ...

2013-06-04 17:00:55

阅读数 6613

评论数 0

原创 Windows命令行的使用

在介绍Windows批处命令前,我们首先来介绍Windows命令行的使用。         Windows shell提供了一个黑色的框框界面,即命令行操作界面,关于命令行的作用和好处,我就不费口舌了,下面仅窥见一斑。         为了方便,免得进行盘符切换,我在F盘建立了一个文件夹,名称...

2013-06-04 15:41:06

阅读数 35330

评论数 2

原创 如何利用C语言中的qsort库函数实现快速排序?

之前,我们已经写过快速排序的程序,而在C语言的库函数中就有快速排序的库函数,即为qsort, 其用法如下: 功 能: 快速排序 头文件:stdlib.h 用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(const void...

2013-06-03 22:21:30

阅读数 42831

评论数 8

原创 求数组中n-1个元素的乘积的最大值(某公司2007年校园招聘笔试试题)

原题只要求写思路,不要求写程序,但要分析算法的时空复杂度,下面我们来看看如何解决这个问题:         方法1:直接翻译题意,将n-1个元素的积求出来,然后求最大值,当然,这是最笨的方法,Google当然不欣赏这种做法: #include #define M 10 #define N 5 ...

2013-06-03 15:28:29

阅读数 6979

评论数 0

原创 汇编语言编辑、汇编、连接、运行的全过程

为了理解汇编语言的编辑、汇编、连接、运行的全过程,我们不使用IDE,而是分步骤来进行:          需要工具:         1. 文本编辑器(如果有Notepad++或者UltraEdit就更好了)         2.  汇编器(如MASM.exe)         3.  连...

2013-06-02 19:24:48

阅读数 30416

评论数 6

原创 汇编语言入门(在debug中编辑和调试程序)

我们在Windows中进入的Dos方式,实际上是虚拟8086模式的Dos,方法是:点击“开始”,“运行”,输入"command",点击“确定”, 可以看到弹出一个黑色的框框,然后,在黑色的框框中输入相关信息,如图所示(提前说一句,汇编语言对大小写不敏感,而C语言对大小写敏感):...

2013-06-02 17:09:18

阅读数 19529

评论数 4

原创 VC++6.0常用快捷键及对快捷键使用的看法

很多软件都提供了鼠标操作对应的快捷键,为什么要快捷键呢?因为快捷键可以很快捷。但是,通常来讲,快捷键能做到的,鼠标基本都可以做到,但鼠标能做到的,却不一定有对应的快捷键。         我们很熟悉word软件, word中有一些基本的快捷键,比如最常用的Ctrl + c和Ctrl +v, 这些快...

2013-06-01 18:49:48

阅读数 9594

评论数 0

原创 一个最简单的MFC应用程序

建立工程  : 在VC++6.0中建立一个名为Test的单文档MFC应用程序,并编译、连接、运行。        运行结果  : 产生一个华丽丽的窗口。        疑问          : 一行代码没写,怎么出来这么个东西呢?        解答          : 这就是M...

2013-06-01 14:47:48

阅读数 7799

评论数 0

原创 什么是 MFC AppWizard?

先来复习两个单词吧: witch     : 女巫 wizard  : 男巫              下面看看维基百科对计算机中的wizard的描述:        A software wizard or setup assistant is auser interface ...

2013-06-01 14:24:18

阅读数 9078

评论数 0

提示
确定要删除当前文章?
取消 删除