数据结构与算法(Java版·第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3.3 数据结构的Java语言描述

Java语言是完全的面向对象语言。与C/C++语言相比,Java语言具有以下优点:

1)给开发人员提供了更为简洁的语法

2)取消指针虽然损失了一些编程的灵活性,但带来的却是更高的代码质量。

3)完全的面向对象使得开发人员从设计开始就必须采用面向对象的软件设计方法。

4)独特的运行机制使得Java语言具有天然的可移植性

Java语言的这些优点使得它成为当前应用开发中使用较广泛的语言之一,采用Java语言描述数据结构会为采用Java语言编程的人员提供更实用的参考。

Java语言的数据类型分为两大类:基本数据类型引用数据类型。其中,基本数据类型有八种,即四种整型类型、两种浮点类型、一种字符类型和一种布尔类型;没有前面在C语言、C++语言中描述数据结构时用到的结构体类型和指针类型。Java语言类似C++语言,仍然采用类定义数据对象,并将对数据对象的关系的存储描述与数据对象的操作封装到类的定义中,最大的不同是使用引用类型代替指针类型。不用指针类型描述数据结构,使得数据结构的描述中没有了与地址相关的运算*和&,更易于对数据结构的理解。

数据对象的类型可被描述成一个类,如

对于顺序存储a1,a2,…,an的数据结构,描述如下:

对于链式存放a1,a2,…,an的数据结构,存放每个数据元素的结点可以定义为结点类:

链式存放a1,a2,…,an的链表可描述为由上述结点类构成的链表类:

本书采用类Java语言描述数据结构及操作的实现算法。