盱眙黑势力任二:面向对象的数据结构与c语言描述的数据结构有何区别?

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 13:00:55
在面向对象的高级语言中是否实现了像树,队列,栈这样的数据结构。
在c语言中,我们必须手工实现这些结构,那么,在java,c++这样的
高级语言中是否也要手工实现呢。

java中提供了常用的数据结构,在util包中主要有基于数组的线性表、基于链表的线性表、栈。提供了队列的接口,具体实现集成到线性表中了,没有单独的数据结构。没有提供单独的树结构,但是Set和Collection类是基于树的类。它们用于更广泛的数据集合。
C++的STL主要提供了线性表的数据结构,以模板的方式给出。没有队列、栈和树。STL作者可能认为这些通过线性表都可以很容易实现。
另外,STL的设计目的是高速,所以其数据结构可能与一般意义上《数据结构》教授的内容有所差异。但是其提供的诸如迭代器等加速查找的数据结构,如果有兴趣,可以参考学习。

JAVA中,java.util包提供了常用的数据结构的实现,像队列,栈,列表都有;

C++的STL库提供了java.util包中类似的功能;