自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(10)
  • 收藏
  • 关注

原创 浅谈指针

此文仅适合初学C语言的朋友,凡是学了几个月以上的不要对此文内容嗤之以鼻。C语言最具特色的是什么?指针。这个答案好像是公论,无论高手还是低手,菜鸟还是老鸟,学过的还是没学过的,但凡是听说过C的,都能回答出来。正是因为C引入了指针的概念,使得他是最接近机器真实模型的高级语言,以至于得到了“中级语言”的称号;象我这样有时候汇编比C用的还多的人体会的更深——单片机编程,我只会汇编,虽然现在开始学C,还

2003-06-24 14:22:00 775

原创 数据结构学习(C++)——稀疏矩阵(十字链表【1】)

先说说什么叫稀疏矩阵。你说,这个问题很简单吗,那你一定不知道中国学术界的嘴皮子仗,对一个字眼的“抠”将会导致两种相反的结论。这是清华2000年的一道考研题:“表示一个有1000个顶点,1000条边的有向图的邻接矩阵有多少个矩阵元素?是否稀疏矩阵?”如果你是个喜欢研究出题者心理活动的人,你可以看出这里有两个陷阱,就是让明明会的人答错,我不想说出是什么,留给读者思考。姑且不论清华给的标准答案是什么,那

2003-06-23 17:05:00 2264

原创 数据结构学习(C++)——单链表(定义与实现)

节点类#ifndef Node_H#define Node_H template class Node    //单链节点类{public:       Type data;       Node *link;       Node() : data(Type()), link(NULL) {}               Node(const Typ

2003-06-22 11:45:00 2873

原创 数据结构学习(C++)——单链表应用(一元多项式【1】)

总算到了这里,这时,你会很得意的说,辛辛苦苦学的单链表总算知道能干点什么了。但是很不幸,如果你和我一样看的是那本书,到这里,你可能比学双向链表时还要痛苦。如果你是按照书上的介绍一步一步做到这里,你能把书上的多项式加法函数调试出来,我对你致以十二分的敬意。说到这里,我想起来我发单链表的时候,有人给我建议说:最好把链表和链表位置这两个分开。没错,C++标准库是这么做的,而我也不是什么专家,也不能证

2003-06-22 11:43:00 3635

原创 数据结构学习(C++)——单链表应用(一元多项式【2】)

按照原书的安排,对多项式的讲解到上一篇就应该结束了,但我还想做一些延伸。比如说,你很清楚多项式的系数肯定不总是整数,但为什么用整型呢?我看到原书用的是整型,我也有这个疑问。但是,一旦动起手来,就会发现改成浮点不仅仅只是在定义Term时把int coef;改成float coef;很多的细节都要考虑到(给个提示,你知道浮点零是多少吗)。我试了一下,最后放弃了;理由是,写这些只是为了学习,没必要搞的那

2003-06-22 11:43:00 2192

原创 数据结构学习(C++)——双向链表

原书这部分内容很多,至少相对于循环链表是很多。相信当你把单链表的指针域搞清楚后,这部分应该难不倒你。现在我的问题是,能不能从单链表派生出双向链表?你可以有几种做法:一种就是先定义一个双链节点——但是,它的名字必须叫Node,这是没办法的事;不然你就只好拷贝一份单链表的实现文件,把其中的Node全都替换成你的双链节点名字,但是这就不叫继承了。另一种做法就是先定义一种结构例如这样的:t

2003-06-21 13:35:00 1531

原创 数据结构学习(C++)——循环链表

原书对循环链表的介绍很简略,实现部分也不完整(当然了,如果完整就又是重复建设)。而我也没觉得循环链表有什么别的用,他更应该是为了一个特殊的问题而产生的,这只是个人的看法。我从链表类派生出了循环链表,这需要注意几个细节。1.        构造函数:派生类实例化时,先调用基类的构造函数;因此,初始化循环链表的工作就是将带表头的空链表的表头节点的link指向表头节点,从而构成一个圈。2.   

2003-06-20 13:51:00 1932

原创 数据结构学习(C++)——如何在一个链表中链入不同类型的对象

似乎你也注意到了,不管怎么定义,好像一个链表中的对象都是同一类型的。而实际上,这也是必须的,否则,返回节点中的数据这样的函数的返回值的类型是什么呢?但是,人的要求是无止境的……(省略本人感慨若干百字)。把不同的对象链在一个链表中的目的是为了方便使用,现在一定记住这个原则,后面的讨论都是基于这个原则的,否则,我们就是技术狂人了——偏偏实现一些看起来不可能的事情。达到这个目标的原理其实很简单,只要

2003-06-20 13:50:00 2287 2

原创 字符串指针与字符数组

很多刚从C转C++的人都不明白,在C中这样的代码char *pChar="hELLO!";   //定义字符指针pChar,指向一个字符数组首元素即h*pChar=H;             //问题所在行到了C++中怎么就不行了?你翻遍参考书,都会说,pChar指向的是常量,怎么能允许改变呢?你又问了,怎么我在C中运行的好好的?没人回答你。于是,你只好自我安慰,这就是C++的保

2003-06-20 13:47:00 1196

原创 数据结构学习(C++)——序言

题外话:先前有一篇文章叫《用C++模板描述的链表、栈、队列(声明与实现)》,当时是第一次发表文章(我才注册没几天),很不成熟,改了又改不说,还弄的老长,不利于阅读。于是我重写了一下,并且想做成一个系列,这从我的标题可以看出来。好,言归正传。本篇为后面一系列文章的序言,旨在说明写作的目的,以及写作的风格;或者说是为自己可能的错误,预先给个托词。如果您不想听我在这废话,请跳过本篇,直接阅读后面的文

2003-06-20 09:39:00 1911

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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