顺序表类定义 enum Boolean False,True; ∥定最大长度为100 并假定顺序表的元素类型T为ELEM const int Max length =100 class list i ∥顺序表,向量 private /有变量,顺序表实例的最大长度 int maize, ∥私有变量,顺序表实例的当前长度 int curr len: 北京大学信息学院 版权所有,转载或翻印必究 Page 21
北京大学信息学院 ©版权所有,转载或翻印必究 Page 21 顺序表类定义 enum Boolean {False,True}; //假定最大长度为100 //并假定顺序表的元素类型T为ELEM const int Max_length = 100; class list { //顺序表,向量 private : //私有变量,顺序表实例的最大长度 int msize; // 私有变量,顺序表实例的当前长度 int curr_len;
有变量,存储顺序表实例的向量 ELEM* nodelist; public: 以下列出成员函数(顺序表的算子集) ∥前下标,顺序表的公共变量 int curr. ∥ constructor算子,创建一个新的顺序表, ∥)实参是表实例的最大长度。 list(const int size); 北京大学信息学院 版权所有,转载或翻印必究 Page 22
北京大学信息学院 ©版权所有,转载或翻印必究 Page 22 //私有变量,存储顺序表实例的向量 ELEM* nodelist; public: //以下列出成员函数(顺序表的算子集) //当前下标,顺序表的公共变量 int curr; // constructor算子,创建一个新的顺序表, //其实参是表实例的最大长度。 list(const int size) ;
∥ destructor算子,用于将该表实例删去 clist(; 将顺序表存储的内容清除,成为空表 void clear 将当前下标curr赋值为第一个元素的位置 void setFirsto /将当前下标cur下移一格,即curr+1 void nexto /若当前下标cur位置有值时,返回True Boolean isInlisto; 北京大学信息学院 版权所有,转载或翻印必究 Page 23
北京大学信息学院 ©版权所有,转载或翻印必究 Page 23 //destructor算子,用于将该表实例删去 ~list(); //将顺序表存储的内容清除,成为空表 void clear(); //将当前下标curr赋值为第一个元素的位置 void setFirst(); //将当前下标curr下移一格,即curr+1 void next(); //若当前下标curr位置有值时,返回True Boolean isInList();
∥在表尾增添一个新元素,顺序表的实际长度加1 void append(const ELEM&); 在当前下标curr位置插入元素新值。 void insert(const ELEM&); ∥前下标cur位置的元素值作为返回值,并删去该元素 ELEM remove Boolean isemptyo ∥线性表为空时,返回True ELEM currValueo ∥返回当前cur位置的元素值。 int length ∥返回此顺序表的当前实际长度 void prevo; 将当前下标curr上移一格,即cur1 北京大学信息学院 版权所有,转载或翻印必究 Page 24
北京大学信息学院 ©版权所有,转载或翻印必究 Page 24 //在表尾增添一个新元素,顺序表的实际长度加1 void append(const ELEM&); //在当前下标curr位置插入元素新值。 void insert(const ELEM&); //当前下标curr位置的元素值作为返回值,并删去该元素 ELEM remove(); Boolean isEmpty(); //当线性表为空时,返回True ELEM currValue(); //返回当前curr位置的元素值。 int length(); //返回此顺序表的当前实际长度 void prev(); //将当前下标curr上移一格,即curr-1 }
2.2.2向量的运算 插入元素运算 void insert( item) 删除元素运算 ELEM remove( 北京大学信息学院 版权所有,转载或翻印必究 Page 25
北京大学信息学院 ©版权所有,转载或翻印必究 Page 25 2.2.2 向量的运算 ◼ 插入元素运算 ◼ void insert( item) ◼ 删除元素运算 ◼ ELEM remove( )