引用常常是有必要的,他十分重要的一点就是可以避免对象的复制!
同样是传递,如果你要传递的是一个非常庞大的对象,这时候不用引用的话,传给函数的就是这个对象的一个副本,构造这样一个副本会调用拷贝构造函数,如果对象庞大,可能会花费大量的系统资源,所以引用的有意义的。而用了引用,就可以避免这样一个拷贝过程。举例,MFC中大量使用的就是常引用,因为他的类往往是一个控件或者是一个对话框。
如果为了避免或者强调传递的对象不发生改变,可以用“常引用”
就是const type &name的形式,这样既可以避免修改也可以避免拷贝。
用linklist l,这个子程序里面的l是外面传值传过来的一个linklist的拷贝,要做一次复制 *** 作,会花费一定系统开销!
用linklist &l,不需要这个复制 *** 作,节省资源!
这里并不关心改不改变l的值,使用引用不只是为了让l的值能改变,还有我说的这个作用
谈谈如何学习数据结构:
1如果你没有学过C语言,或者C语言学的不好的时候把数据结构当成一本数学书来学,它所讲述的都是一些简单的图论。在你的大脑中的主线不能丢失:线性结构,树结构和图结构。当你不再考虑复杂的程序设计时,仅仅研究个个离散点之间的关系,似乎数据结构也就不会那么难了。
2学习好了抽象的离散点关系后,再巩固一下你的C语言水平,书中描述的都是类C。因此你只要学习简单的C定义、判断、循环语句就基本能看的懂课本中所有程序了。
3以上都完成后,从数据结构的线性表开始。线性表中顺序表似乎是为你学习C语言设计的,学好线性表的链表是你起步的关键。后面的树结构,图结构,排序,查找都少不了链式结构,往往这个也是最难的。
4看程序的时候一定要自己在纸上画画,最好先学会画程序的流程图,也许那样你学程序也就会更快一些。
5数据结构是程序设计的最基本也是最有用的地方,学完之后你会受益匪浅的,也许这本书可以决定你以后的道路或者命运。
祝你成功!
S1[0]貌似是个哨兵位,用来保存串的长度信息等等,,
如果是这样的话,那么
T[1s[0]]T[1S1[0]]=S1[1S1[0]];
就可以理解为吧S1这个串的内容复制到T中,复制的范围是S1的长度
以上就是关于严蔚敏的数据结构与算法(c语言版) 中关于引用全部的内容,包括:严蔚敏的数据结构与算法(c语言版) 中关于引用、严蔚敏数据结构怎么学习、数据结构C语言严蔚敏 中串的一个问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)