抽象数据类型-Read.ppt

面向对象程序设计语言的特点是不仅具有封装性(encapsulation), 还有继承性 (inheritance)和多态性 (polymorphism)。从以上的讨论中可以看出,与数据结构密切相关的是定义在数据结构上的一组操作。操作的种类和数目不同,即使逻辑结构相同,这个数据结构的用途也会大不相同。定义在数据结构上的操作的种类是没有限制的, 可以根据具体需要而定义。 基本操作主要有以下几种:  (1) 插入: 在数据结构中的指定位置上增添新的数据元素; (2) 删除: 删去数据结构中某个指定数据元素;  (3) 更新:改变数据结构中某个元素的值, 在概念上等价于删除和插入操作的组合;  (4) 查找:在数据结构中寻找满足某个特定要求的数据元素(的位置和值);  (5) 排序:(在线性结构中)重新安排数据元素之间的逻辑顺序关系,使数据元素按值由小到大或由大到小的次序排列。 6) 结构化的开发方法与面向对象的开发方法的不同点,结构化的开发方法是面向过程的开发方法, 首先着眼于系统要实现的功能。从系统的输入和输出出发, 分析系统要实现的功能,用自顶向下、逐步细化的方式建立系统的功能结构和相应的程序模块结构。一旦程序功能需要修改, 就会涉及多个模块,修改量大,易于出错,并会引起程序的退化。 1.3 抽象数据类型的表示和实现 (1) 预定义常量和类型。 本书中用到以下常量符号,如True、 False、MAXSIZE等,约定用如下宏定义预先定义:  # define TRUE 1 # define FALSE 0 # define MAXSIZE 100 # define OK 1 # define ERROR 0 (2) 本书中所有的算法都以如下的函数形式加以表示, 其中的结构类型使用前面已有的定义。  [数据类型] 函数名([形式参数及说明]) { 内部数据说明;  执行语句组;  } /*函数名*/ 函数的定义主要由函数名和函数体组成,函数体用花括号“{”和“}”括起来。 函数中用方括号括起来的部分如“[形式参数]”为可选项, 函数名之后的圆括号不可省略。 (3) 赋值语句。 ■简单赋值; (1)〈变量名〉=〈表达式〉,它表示将表达式的值赋给左边的变量;  (2)〈变量〉++, 它表示变量加1后赋值给变量;  (3)〈变量〉--, 它表示变量减1后赋值给变量。 ■串联赋值#; 〈变量1〉=〈变量2〉=〈变量3〉=…=〈变量k〉=〈表达式〉; ■成组赋值#; (〈变量1〉,〈变量2〉,〈变量3〉, …, 〈变量k〉)=(〈表达式1〉,〈表达式2〉, 〈表达式3〉, …, 〈表达式k〉); 〈数组名1〉[下标1][下标2]=〈数组名2〉[下标1][下标2];  ■ 条件赋值; 〈变量名〉=〈条件表达式〉?〈表达式1〉: 〈表达式2〉; (4) 条件选择语句。 ■if (〈表达式〉) 语句;  ■if (〈表达式〉) 语句1;  else 语句2; switch (表达式) {case 判断值1:  语句组 1;  break;  case 判断值2:  语句组 2;  break;  ... case 判断值n:  语句组n;  break;  [default:  语句组;  break; ] } (5) 循环语句。 for 语句 for (表达式1; 表达式2; 表达式3) {循环体语句; } 首先计算表达式1的值, 然后求表达式2的值,若结果非零(即

文档评论(0)

1亿VIP精品文档

相关文档