线性表、 抽象数据类型review

线性表概念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:

转载于:https://www.cnblogs.com/codingcouple/p/6512032.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值