重新整理了代码
This commit is contained in:
@@ -8,7 +8,9 @@ int ReadInput(char *inputString)
|
||||
|
||||
char src[20];
|
||||
int num;
|
||||
|
||||
sscanf(inputString, "%[a-z] %d", src, &num);
|
||||
|
||||
if (0 == strcmp("clock", src))
|
||||
{
|
||||
return IO_CLOCK;
|
||||
@@ -83,6 +85,7 @@ rail_node_t *ReadConfigFile()
|
||||
case 'S':
|
||||
// STRATEGY
|
||||
p = buffer;
|
||||
|
||||
// 将=前的字符全部略去
|
||||
while (*p != '=')
|
||||
{
|
||||
@@ -134,7 +137,6 @@ rail_node_t *ReadConfigFile()
|
||||
default:
|
||||
continue;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// 处理参数去缺省值的情况
|
||||
@@ -169,6 +171,7 @@ void PrintState()
|
||||
clockwise[count] = '0';
|
||||
counterclockwise[count] = '0';
|
||||
} //遍历轨道链表,将所有站点初始化为0,即:无任何请求;
|
||||
// 在字符串的末尾填0
|
||||
target[count] = '\0';
|
||||
clockwise[count] = '\0';
|
||||
counterclockwise[count] = '\0';
|
||||
@@ -216,6 +219,7 @@ void PrintStateInner(char *str)
|
||||
clockwise[count] = '0';
|
||||
counterclockwise[count] = '0';
|
||||
} //遍历轨道链表,将所有站点初始化为0,即:无任何请求;
|
||||
// 在字符串的末尾填0
|
||||
target[count] = '\0';
|
||||
clockwise[count] = '\0';
|
||||
counterclockwise[count] = '\0';
|
||||
|
@@ -283,19 +283,4 @@ bus_query_t *SCANBTWQuery()
|
||||
}//遍历请求链表,判断是否有可以顺便处理的请求
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void FCFSControl()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void SSTFControl()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void SCANControl()
|
||||
{
|
||||
|
||||
}
|
35
src/rail.c
35
src/rail.c
@@ -40,24 +40,27 @@ rail_node_t *CreateRails(int length, int node_num)
|
||||
|
||||
rail_node_t *FindNode(rail_node_t *head, int id)
|
||||
{
|
||||
rail_node_t *p = NULL;
|
||||
if(head)
|
||||
// 排除头节点为空的情况
|
||||
if(head == NULL)
|
||||
{
|
||||
if(head->id == id)
|
||||
{
|
||||
return head;
|
||||
}
|
||||
if(head->next_node != NULL)
|
||||
{
|
||||
p = FindNode(head->next_node, id);
|
||||
if(p)
|
||||
{
|
||||
return p;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
return NULL;
|
||||
|
||||
rail_node_t *result = NULL;
|
||||
rail_node_t *p = head;
|
||||
|
||||
do
|
||||
{
|
||||
if(p->id == id)
|
||||
{
|
||||
result = p;
|
||||
break;
|
||||
}
|
||||
p = p->next_node;
|
||||
}
|
||||
while (p != head);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
void FreeRails(rail_node_t *head)
|
||||
|
Reference in New Issue
Block a user