摘要:
以下内容发表在8月份的InfoQ中文站电子刊物《架构师》中,主要谈到了我对架构师这个角色的一些理解与认识,有兴趣的朋友也可以留言,我们共同探讨这个话题。架构师之我见架构师是一个项目组的灵魂人物,他决定着整个系统的技术选型、整体架构以及模块划分,同时还可能担当与领导层的沟通角色,从某种意义上来说,架构师在很大程度上决定着项目的成败与否,正所谓火车跑得快,全靠车头带。很多优秀的架构师都是从一个优秀的开发人员转变过来的,但优秀的开发人员未见得都能成为合格的架构师。与架构师相比,开发人员所需担当的任务相对狭隘的多,其最大的目标就是编写出精良的代码、做好充分的测试以及撰写高质量的文档等;而架构师所要面对 阅读全文
摘要:
2009-01-04 11:22期末样卷参考答案一.是非题(每题1分共10分)1. 线性表的链式存储结构优于顺序存储结构。 F2. 栈和队列也是线性表。如果需要,可对它们中的任一元素进行操作。F3. 字符串是数据对象特定的线性表。T4. 在单链表P指针所指结点之后插入S结点的操作是:P->next= S ; S-> next = P->next; F5. 一个无向图的连通分量是其极大的连通子图。T6. 邻接表可以表示有向图,也可以表示无向图。T7. 假设B是一棵树,B′是对应的二叉树。则B的后根遍历相当于B′的中序遍历。 T8. 通常,二叉树的第i层上有2i-1个结点。F9. 阅读全文
摘要:
#include"stdlib.h"#include"stdio.h"typedef char StackEntry;typedef struct node { //链栈的结点结构StackEntry item; //栈的数据元素类型struct node *next; //指向后继结点的指针}NODE; typedef struct stack{NODE *top;}STACK; //初始化栈void InitStack(STACK *S){S->top=NULL;}//入栈void Push(STACK *S,StackEntry item){ 阅读全文
摘要:
这几天笔试了好几次了,连续碰到一个关于常见排序算法稳定性判别的问题,往往还是多选,对于我以及和我一样拿不准的同学可不是一个能轻易下结论的题目,当然如果你笔试之前已经记住了数据结构书上哪些是稳定的,哪些不是稳定的,做起来应该可以轻松搞定。本文是针对老是记不住这个或者想真正明白到底为什么是稳定或者不稳定的人准备的。 首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj, Ai原来在位置前,排序后Ai还是要在Aj位置前。 其次,说一下稳定性的好处。排序算法如果是稳定的,那么从一个键上排 阅读全文
摘要:
第一,谈谈final, finally, finalize的区别。 final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。finally是异常处理语句结构的一部分,表示总是执行。finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 可以继承其他类或完成其他接口,在swing编程中常用此方式。 ... 阅读全文
摘要:
当Visual C++长了尾巴,当Borland C++ Builder臃肿不堪,当钱包空空,难道在Windows下再没有我们可以负担的起而又足够优秀的C++ IDE?当然不是。这个世界上还有一种东西叫开源。本文的目的就是告诉你如何依靠开源软件搭建Windows XP下的C++ IDE(虽然搭配Linux OS是更好的选择,但毫无疑问的是,Windows OS至少在易用性上要远好于Linux OS,何况在中国,Windows的用户要远多于Linux用户)。1、Java JDK的安装C++的开发平台为什么要安装Java的JDK?这似乎是C++的可悲之处。原因很简单,因为我们要使用的Eclipse 阅读全文
摘要:
引用(reference)是c++的初学者比较容易迷惑的概念。下面我们比较详细地讨论引用。一、引用的概念引用引入了对象的一个同义词。定义引用的表示方法与定义指针相似,只是用&代替了*。例如: Point pt1(10,10);Point &pt2=pt1; 定义了pt2为pt1的引用。通过这样的定义,pt1和pt2表示同一对象。需要特别强调的是引用并不产生对象的副本,仅仅是对象的同义词。因此,当下面的语句执行后:pt1.offset(2,2);pt1和pt2都具有(12,12)的值。引用必须在定义时马上被初始化,因为它必须是某个东西的同义词。你不能先定义一个引用后才初始化它。例 阅读全文
摘要:
最近有不少购买此书的朋友提到书中所说的源码下载地址无法访问,特将该书的源代码放在这里供大家下载!源码下载地址:点击这里下载 阅读全文
摘要:
在C++的学习中,有人经常搞不清楚“常量指针”和“指针常量”这两个概念。其实简单一点讲,“常量指针”所指向的地址上的数据是常量,而“指针常量”所指向的地址是常量,地址上面的数据是可以变化的。 常量指针,表述为“是常量的指针”,它首先应该是一个指针。 指针常量,表述为“是指针的常量”,它首先应该是一个常量。指针常量定义时必须初始化,否则报编译错误,因为此时不赋值便没有机会赋值了. 下面看及格简单的例子,可以说明他们的区别:第一个voidmain(){char*str1={"Hello"};char*str2={"HelloWorld"};char*cons 阅读全文
摘要:
大家好,特开设本贴作为《Dojo构建Ajax应用程序》一书的勘误与问题专用贴,随着时间的不断推进,该贴的内容也会不断更新。同时也衷心希望大家能将自己发现的问题提出来,以便再版时进行修正。 阅读全文