BBS水木清华站∶精华区

发信人: Compiler (编译器), 信区: Java        
标  题: Re: 如何实现链表等数据结构? 
发信站: BBS 水木清华站 (Fri Jan 29 22:19:32 1999) 
 
Java中并非没有指针和引用,事实上,Java中的对象全部是由指针("引用") 
在"堆"中进行内存分配的(与C++不同,后者可以在"栈"中直接生成对象, 
但是这种对象不适于进行多态操作). 
 
C++中既有指针,又有引用,指针和引用在实现上有共同点,他们的最大区别 
在于,指针可以进行运算,而引用不行,所以,引用要比指针安全的多. 
 
在很多Java的书籍中,都会出现"引用"一词.或者说Java有指针,只是 
其指针不能参加运算.这两种说法在本质上是一致的. 
 
链表等数据结构是必须由指针来完成的,但是在链表的的操作中,涉及的 
是内存的分配和对象的联系,几乎不会,也不提倡使用指针加减法等运算. 
所以,用Java的引用是完全可以实现的. 
 
我认为,数据结构中指针的加减法运算主要使用鲁棒性来换取速度, 
数据结构是完全可以用引用实现的.至于使用Java天然提供的predefined classes, 
自然更好. 
 
一点陋见,欢迎指正. 
 
【 在 lenlon (九天) 的大作中提到: 】 
 在JAVA中由于没有指针和引用,无法实现许多传统的数据结构, 
 如链表、二叉树等,有没有什么变通的办法? 
 
 
-- 
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.99.47.87] 

BBS水木清华站∶精华区