C实现电梯调度流程
C++对象实现类图
对比分析
-
C
-
C中主要是使用多个函数对变量进行数据处理的各项操作。
-
每个函数可能复杂度较高,一个函数进行多种运算后可得到相近于最终结果的数据。
-
各个函数组成一个核心算法,除算法外无其他有型结构。
-
数据流动比较随意,只有相对的流动方向,没有相对严谨的隶属结构层次。
-
C++
-
C++主要是一个模拟事物的思想,在程序内部将电梯的主要特点捆绑构造为类。
-
在类中,数据流动方向固定,私有性数据不能随意被篡改,具有高隐蔽性。
-
类可以附带成员函数,来分担实现一些小功能,因此核心算法可以变得更简化。
-
在main函数中可通过调用电梯类公用方法获得各种参数,以更便利地运算数据。
-
数据命名规范,隶属层次分明,面对大数据时用起来更不容易出错。
比较简单的电梯类
#include<queue>
class Elevator
{
private:
int CurrentTime; //当前时间
int CurrentFloor; //当前楼层
queue<int> Destination; //目标队列
int CurrentDirection; //当前方向,<0下,>0上
public:
Elevator(); //构造
~Elevator(); //析构
int GetCurrentFloor(); //当前楼层
void SetNextDestination(int); //接受下一层指令
}
Elevator::~Elevator()
{
cout<<"Elevator has been uninstalled!"<<endl;
}
Elevator::int GetCurrentFloor()
{
return CurrentFloor;
}
Elevator::void SetNextDestination(int Next)
{
Destination.push(Next);
CurrentDirection=Next-CurrentFloor;
}