C

面向过程:

      该电梯不允许未卜先知,故程序需逐条处理乘客请求并更新当前各变量状态。
      如何获得最短时间:是否立即响应请求,计算出不同决策下的总时间,并进行比较,然后选择最短时间

C++

面向对象:题中对象有:电梯,乘客
  • 电梯
    1)成员变量:电梯所在楼层,电梯目标楼层,电梯门状态(以记录电梯目前是否响应载人请求),电梯当前运行方向
    2)成员函数:
          电梯响应要求到达目标楼层——更新电梯所在楼层
          电梯收到下一条指令并前往目标楼层——更新电梯目标楼层
          电梯停在当前楼层——记录当前电梯门状态
  • 乘客
    1)成员变量:乘客所处楼层,目标楼层,乘客发出请求的时间,乘客当前状态(已/正在/未 完成请求),完成请求时间
    2)成员函数:
          乘客上电梯/下电梯,即更新乘客当前状态
          乘客等待总时间

区别碎碎念

      为什么我觉得C和C++的实现最后是一样的(;´д`)ゞ
      都是模拟电梯状态并不断的进行更新,但是从对象的角度去设计代码逻辑会更清楚明白,类的调用使得程序各成员间的关系更加清晰,如何更好的做出最优决策还是我需要尝试的重点

使用C和C++实现“电梯”的区别的更多相关文章

  1. 电梯也能无为而治——oo第二单元作业总结

    oo第二单元作业总结 一.设计策略与质量分析 第一次作业 设计策略 在第一次作业之前,我首先确定了生产者--消费者模式的大体架构,即由输入线程(可与主线程合并)充当生产者,电梯线程充当消费者,二者不直 ...

  2. os期末复习

    登记之后会发生两个变化:读者数增加(v操作).座位数减少(p操作) 注销之后会发生的变化:读者数减少(p操作).座位数增加(v操作) 必须要清楚释放的是甚麽,以及申请的是甚麽资源(在具体的题目当中) ...

  3. 从电梯问题,看c和c++之间的区别(有点懂了)错觉错觉

    磕磕碰碰的也相继用c和c++构造了不少的电梯了.虽然对自我的表现不满意,但是总体来说还是有一定的收获的,对于c和c++之间的区别感觉也摸到了一点点门道了... 用c语言构造电梯的步骤: 第一步: 分析 ...

  4. 自己动手C#模拟电梯的运行V1.0

    电梯调度有很多种模式,参见http://www.cnblogs.com/jianyungsun/archive/2011/03/16/1986439.html 1.1先来先服务算法(FCFS) 先来先 ...

  5. GIT和SVN之间的五个基本区别

    GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等.如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征.所以,这篇文章的主要目的就是 ...

  6. GIT与SVN的区别

    1.GIT是分布式的,SVN不是: 这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别.如果你能理解这个概念,那么你就已经上手一半了.需要做一点声明,GIT并不是目前第一个或唯 ...

  7. java抽象类和接口区别

    深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的 ...

  8. git和svn的区别001

    Git和SVN之间的五个基本区别 中文原文地址:http://blog.jobbole.com/31444/ 友情链接git和svn链接2:http://blog.csdn.net/sunboy_20 ...

  9. git 和 svn的区别(转)

    英文原文:5 Fundamental differences between GIT & SVN,编译:外刊IT评论 如果你在读这篇文章,说明你跟大多数开发者一样对GIT感兴趣,如果你还没有机 ...

随机推荐

  1. js身份证校验

    通过js实现对15位或者18位身份证格式校验: 通过调用idCardNoUtil.checkeIdCardNo(idCardNo)传入身份证号码,实现校验. var idCardNoUtil = { ...

  2. c3p0封装

    配置文件 <?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <defaul ...

  3. 在Java中发送http的post请求,设置请求参数等等

    前几天做了一个定时导入数据的接口,需要发送http请求,第一次做这种的需求,特地记一下子, 导包 import java.text.SimpleDateFormat;import java.util. ...

  4. sign

    sign字段构成:登录类型(2Bytes) + userid(不定长,最长10Bytes,用户id或设备id) + time(10Bytes) + token(32Bytes).其中:token = ...

  5. 使用树莓派拍摄延时动画,制作GIF图

    本期教大家将编写一个小脚本用树莓派来捕获多个图像,然后可以将这些图像组合成动画GIF,使用延时摄影功能,可以在几秒钟内查看非常慢的事情. 我们需要用到ImageMagick,这是一个用于图像处理的命令 ...

  6. C语言顺序队列

    顺序队列是一种只能在一头进和另一头出的数据结构,所以结构体里设2个指针分别指向头部和尾部,用数组来存储数据. #define MAXSIZE 1024 typedef int elemtype; ty ...

  7. 用GO把你想说的话写到比特币链上

    比特币除了币转账还有不少好玩的地方,比如把你想说的话写上去,可以当做留念.记录.或者装逼.今天用GO语言写了一个比特币交易构建.交易签名的程序. 生成的交易信息可以在比特币控制台用sendrawtra ...

  8. 用GO写一个连接比特币JSONRPC接口的程序

    比特币钱包默认是不开启JSONRPC接口的,要在比特币区块文件夹下新建bitcoin.conf这个文件,并写入以下内容 server=1  rpcuser=xxmm  rpcpassword=1234 ...

  9. 20155217 实验二 Java面向对象程序设计 实验报告

    20155217 实验二 Java面向对象程序设计 实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模 ...

  10. P,NP,NPC的通俗解释

    这或许是众多OIer最大的误区之一.    你会经常看到网上出现“这怎么做,这不是NP问题吗”.“这个只有搜了,这已经被证明是NP问题 了”之类的话.你要知道,大多数人此时所说的NP问题其实都是指的N ...