线性表概念review
由n(n>=0)个数据特征相同的元素构成的有限序列。
ADT抽象数据类型review:
每种数据结构均视为抽象类型,它不但定义了数据的组织方式还给出了处理数据的运算,是一种描述用户和数据之间的抽象模型。
- ADT的基本属性:数据封装和信息隐藏
-
ADT描述规范:
ADT 名称 is Data 描述数据的结构 Operations 构造函数 Initial values:用来初始化对象的数据 Process: 初始化对象 操作1 Input: 用户输入的数值 Preconditios: 系统执行本操作前数据所必需的状态 Process: 对数据进行动作 Output: 返回给用户的数据 Posconditions: 系统执行操作后数据的状态 操作2 ... 操作n ... end ADT ADT名称
Example:计算游泳池的过道围栏造价
#include<iostream> using namespace std; const float PI=3.14; const float Fenceprice=3.50; const float ConcretePrice=0.50; //申明类Circle及其数据和方法 class Circle { private: //定义数据成员ratius为浮点数 float radius; public: //构造函数 Circle(float r); //计算圆的周长和面积的函数 float Circumference(void) const; float Area(void) const; }; //类的实现 //构造函数用类初始化数据成员ratius Circle::Circle(float r):radius(r) { } //计算圆的周长 float Circle::Circumference(void) const { return 2*PI*radius; } //计算圆的面积 float Circle::Area(void) const { return PI*radius*radius; } void main() { float radius; float FenceCost,ConcreteCost; //设定浮点数输出时只显示小数点后两位 cout.setf(ios::fixed); cout.setf(ios::showpoint); cout.precision(2); //提示用户输入半径ratius cout<<"Enter the ratius of the pool:"; cin>>radius; //定义Circule对象 Circle Pool (radius); Circle PoolRim(radius+3); //计算栅栏的造价并输出 FenceCost=PoolRim.Circumference()*Fenceprice; cout<<"Concrete Cost is $"<<FenceCost<<endl; ConcreteCost=(PoolRim.Area()-Pool.Area())*ConcretePrice; cout<<"Concrete Cost is $"<<ConcreteCost<<endl; system("pause"); return ; }
result: