当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 主要参考书是《数据结构(用面向对象方法与C++描述)》殷人昆等编著,清华大学出版社。
 

 

    摘要: 我把这篇译文作为献给我母亲的生日礼物——虽然我不愿意提醒她又老了一岁。她在我走向程序员的过程有起着极其重要的影响。蒋晟 2003年6月11日 msdn 主页> microsoft internet developer > 1998年7月 > 在你的应用程序中集成webbrowser控件 本文假定你熟悉internet explorer 4.0、 c++和 com。 下......
 ·<<软件设计学习笔记>>    »显示摘要«
    摘要: <<软件设计学习笔记>> 阅读一篇关于软件设计的文章,文章对软件设计讲述的非常全面,但对于细节都没有展开讨论,不过其中推荐了一些参考资料,看了这个文章后就能对软件设计有一个比较全面的了解,如果还需要在一些细节上深入就要找相关资料了。 ************文章的章节结构************** 软件设计的基本概念 *** 一般的设计概念 *** 软件设计内......


用C++模板描述的链表、栈、队列(声明与实现)

主要参考书是«数据结构(用面向对象方法与c++描述)»殷人昆等编著,清华大学出版社.原书看起来很费事,显而易见的把教学目的与提供实例的目的搞混了,结果是个四不象:作为教科书,条理不清晰;提供各个方法的实现,也不是很实用,相反,重复建设太多.但是,这是清华的考研参考书目,一定有许多人与我一样在研读此书.我把我重新定义的类与实现发表出来,就是希望与我一样的人,或者是打算学习数据结构而选择了这本书的人,能更好的理解与学习.当然,如果你想使用这些数据结构,又不想学stl,这些类也能帮你达成目的.

这是第一部分,马上我会完成树等结构.我只测试了int类型各个成员函数的正确性,并且也没做什么“极端测试”,欢迎测试.另外,欢迎反映这样的定义是否好看些,容易懂些. 【程序编程相关:由零开始做 Dialog (SDK版)

我照着原书的类名与对应的函数名,写下了如下的类的定义,部分代码采用了原书的.把成员函数的实现写在类定义里,完全是为了将就vc++6的classview,不然一双击一个成员函数,就蹦出来“我找不到它的实现”,而实际上,一般我们都看的是classview显示的类的接口,很少去看类的定义. 【推荐阅读:C++机理:虚拟机制的实现[兼谈对比于传

#define node_h 【扩展信息:跟随鼠标的几个星星,不是很夸张,还可以用

#ifndef node_h

template <class type> class node //单链节点类

{

public:

 type data;

 node<type> *link;

 node() : data(type()), link(null) {}       

 node(const type &item) : data(item), link(null) {}

};

#endif

说明:因为数据结构里用到这个结构的地方太多了,如果用原书那种声明友元的做法,那声明不知道要比这个类的本身长多少.不如开放成员,事实上,这种结构只是c中的struct,除了为了方便初始化一下,不需要任何的方法,原书那是画蛇添足.

一点重要的修改:原书的缺省构造函数是这样的node() : data(null), link(null) {}  .我原来也是照着写的,结果当我做扩充时发现这样是不对的.当type为结构而不是简单类型(int.……),不能简单赋null值.这样做使得定义的模板只能用于很少的简单类型.显然,这里应该调用type的缺省构造函数. 这也要求,用在这里的类一定要有缺省构造函数.在下面可以看到构造链表时,使用了这个缺省构造函数.当然,这里是约定带表头节点的链表,不带头节点的情况请大家自己思考.  

下面可以看到,链表的public部分没有返回node或者node*的函数,所以,别的类不可能用这个开放的接口对链表中的节点操作.

#ifndef list_h

#define list_h

#include "node.h"


...   下一页
    摘要: 看了骇客1,我已经有该想法了,只是在骇客2中的到了证实。 宇宙起源: 宇宙原来是一个混沌,混沌的一个质点,但并不是质量无限大、体积无限小。而是 宇宙原来是一个意识构成的核,所有的各种意识瘫缩、缠绕在一起。 在有一刻,这些意识开始分化,并开始逐渐形成体系,逐渐清晰。 有一天,宇宙终于进化到了一个足够清晰,意识足够复杂的思维体。该思维体就是最初的上帝。上帝并不同与今天人脑的思维,它......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE