02(数据描述1)课件.ppt

  1. 1、本文档共72页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
02(数据描述1)课件

Chapter 3;3.1 Introduction;What is the data object ?;What is the data structure ?; Language independent Abstract Data Type C++ Interface Abstract Class;3.2 Linear Lists;Linear List Examples;线性表的特征 有且仅有一个开始结点(表头结点)e0,它没有直接前驱,只有一个直接后继; 有且仅有一个终端结点(表尾结点)en,它没有直接后继,只有一个直接前驱; 其它结点都有一个直接前驱和直接后继; 元素之间为一对一的线性关系。 元素有序,个数有限,类型相同。;;3.3 Formula-based Representation 3.3.1 Representation;0;Representation Used In Text;Add / Remove An Element;Data Type Of Array element[ ];Length of Array element[ ];Increasing Array Length;Increasing Array Length;Increasing Array Length;Altogether Now;How Big Should The New Array Be?;Space Complexity;Array Doubling;How Big Should The New Array Be?;How Big Should The New Array Be?;Linear List As C++ Abstract Class;3.3.2 The Exception Class NoMen;3.3.3 Operations;Program 3.3 elementary list operations templateclass T LinearListT::LinearList (int MaxListSize) { MaxSize = MaxListSize; element = new T[ MaxSize ]; length = 0; } templateclass T bool LinearListT::Find (int k, T x) const { if ( k1 || klength ) return false; // no kth x = element [k-1]; return true; };Program 3.3 elementary list operations;Program 3.4 Deletion from a linear list template class T LinearListT LinearListT:: Delete (int k, T x) { if (Find(k, x)) // move elements k+1, ..., down {for ( int i = k; i length; i++ ) element [i-1] = element [i]; length--; return *this ; } else throw OutOfBounds( ); } the time complexity is O(length-k)s).;Program 3.5 Insertion into a linear list template class T LinearListT LinearListT::Insert (int k, const T x) { if (k0 || klength) throw OutOfBounds( ); if (length == MaxSize) throw NoMem( ); for (int i = length-1; i = k; i--) element [i+1] = element [i]; element [k] = x; length++; return *this ; } The complexity of Insert is O(length-k)s). ;Program 3.6 Inserting a list into the output stream template class T void LinearListT::Output(ostream

文档评论(0)

baa89089 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档