下载此文档

第7章 从过程抽象到数据抽象-课件(PPT·精·选).ppt


文档分类:IT计算机 | 页数:约37页 举报非法文档有奖
1/37
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/37 下载此文档
文档列表 文档介绍
第7章从过程抽象到数据抽象过程抽象是面向过程程序设计的基本手段。过程抽象的结果是函数。函数的好处在于它提供了信息隐藏和重用性,使用函数只需知道其名字和参数形式,而无需了解其实现细节, 可以在不同地方多次使用;函数的内部实现可以采用多种方式,但并不会影响函数的使用。数据抽象是面向对象程序设计的基本手段。数据抽象的结果是数据类型。数据类型把数据和其上的操作密切地、逻辑地联系在一起, 形成一个整体,实现了更好的信息隐藏和重用性。而且它在思维的抽象层次上较为接近人们通常的思维模式。 从过程抽象到数据抽象设有如下的要求:向整数集合的某一子集添加若干元素, 从该集合中删除某些元素,判断指定元素是否在该集合中。 :集合(数组)最多含 MAXLENGTH 个元素,集合当前有 count 个元素。数据定义如下: int set[MAXLENGTH ]; unsigned count; 程序中抽象出三个集合上的操作: ?添加( Add ) ?删除( Remove ) ?判断( Isin ) 集合的实现与使用(1) void Add(int elem , int * pset , unsigned &count) 这个函数的功能是:添加新元素 elem 到集合 pset 。若元素 elem 不在集合 pset 中, elem 加到 pset 尾部,集合的元素个数 count 加1;否则,元素 elem 已在 pset 中,结束。函数定义如下: void Add(int elem , int * pset , unsigned &count) { if(count <MAXLENGTH) if(!Isin(elem , pset , count)) *( pset + (count)++) = elem ; } (2) Remove(int elem , int * pset , unsigned & count) 这个函数的功能是:从集合 pset 中删除元素 elem 。若元素 elem 在集合 pset 中且位于 pset[i ],则将 pset 中最后一个元素 pset[count-1] 替换 pset[i ],集合的元素个数 count 减1;否则, 给出元素不在集合中的提示信息。函数定义如下: void Remove(int elem , int * pset , unsigned &count){ for(unsigned i=0; i<count && *( pset+i )!= elem ; i++); if(i <count) *( pset + i) = *( pset + (count--) - 1); else cout <<" 待删除元素"<< elem <<" 不在集合中。"<< endl ;} (3) Isin(int elem , int * pset , unsigned count) 这个函数的功能是:判断元素 elem 是否在集合 pset 中。从头至尾检查集合 pset 中的元素,若有元素 elem ,返回 1;否则,返回 0。函数定义如下: int Isin(int elem , int * pset , unsigned count) { for(unsigned i=0; i<count && *( pset + i)!= elem ; i++); return (i<count); } #include < iostream > using namespace std; #define MAXLENGTH 100 void Add(int elem , int * pset , unsigned &count); void Remove(int elem , int * pset , unsigned &count); int Isin(int elem , int * pset , unsigned count); int main(){ int set[MAXLENGTH ]; // 集合 unsigned count=0; // 集合中当前元素个数 int element,choice ; while (1) { cout <<" 操作选择: "<< endl ; cout <<"1-- 添加元素"<< endl ; cout <<"2-- 删除元素"<< endl ; cout <<"3-- 判断元素"<< endl ; cout <<"0-- 退出"<< endl ; cout <<" 请输入您的选择: ";

第7章 从过程抽象到数据抽象-课件(PPT·精·选) 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数37
  • 收藏数0 收藏
  • 顶次数0
  • 上传人aidoc6
  • 文件大小0 KB
  • 时间2016-05-17