完善了FCFSDirectoin函数
This commit is contained in:
parent
1ca36991f9
commit
77a3426981
|
@ -8,13 +8,48 @@ int chosen_strategy = -1;
|
|||
|
||||
int FCFSDirection()
|
||||
{
|
||||
int rabbish;
|
||||
int a;
|
||||
int b = a + a;
|
||||
// 这是用来产生冲突的代码
|
||||
int resil;
|
||||
char slkdfnasjkfgjasdvasndvjasdv;
|
||||
return BUS_STOP;
|
||||
bus_query_t *p = queries;
|
||||
int id = the_bus->rail_node_pos->id; //获取当前站点的id
|
||||
|
||||
|
||||
while(p->node->id == p->next_node->node->id) //如果下一个请求对应的站点与当前是同一个站点
|
||||
{
|
||||
p = p->next_node;
|
||||
} //处理完所有连续相同站点请求
|
||||
|
||||
if(p->next_node == NULL)
|
||||
{
|
||||
return BUS_STOP;
|
||||
} //如果没有请求了,公交车停止
|
||||
|
||||
else
|
||||
{
|
||||
int clockwise = 0;
|
||||
int counterclockwise = 0; //用于顺,逆时针方向所经站台计数
|
||||
bus_query_t *t = p; //将指针p的地址暂存
|
||||
|
||||
while(p->node->id != p->next_node->node->id)
|
||||
{
|
||||
p->node = p->node->next_node;
|
||||
clockwise++;
|
||||
}//顺时针方向计数
|
||||
while(t->node->id != t->next_node->node->id)
|
||||
{
|
||||
t->next_node->node = t->next_node->node->next_node;
|
||||
counterclockwise++;
|
||||
}//逆时针方向计数
|
||||
|
||||
if(clockwise <= counterclockwise)
|
||||
{
|
||||
return BUS_CLOCK_WISE;
|
||||
}//若顺时针距离短(或顺逆相等),公交车顺时针运行
|
||||
else
|
||||
{
|
||||
return BUS_COUNTER_CLOCK_WISE;
|
||||
}//若逆时针距离短,公交车逆时针运行
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
bus_query_t *FCFSQuery()
|
||||
|
|
Loading…
Reference in New Issue
Block a user