您的位置:首页 > 编程语言

2017年4月26日 阿里巴巴笔试编程题 调度算法

2017-04-27 16:49 204 查看
题目:

暂无截图

题目说什么真没看懂,只知道要实现一个调度算法

题目给的代码:

#include <map>
#include <vector>
#include <queue>
#include <stdlib.h>
#include <stdio.h>
#include <iostream>
using namespace std;
/*
a
/  \
b    c
/ \  /  \
d   e f   g
\  / \
h j   i
\
k
\
l
a:托马斯(Thomas)
b:艾德华(Edward)
c:亨利(Henry)
d:高登(Gordon)
e:詹姆士(James)
f:培西(Percy)
g:托比(Toby)
h:达克(Duke)
j:唐纳德&道格拉斯(Donald&Douglas)
j:奥利佛(Oliver)
k:亚瑟(Arthur)
l:艾蜜莉(Emily)
*/

struct BT
{
int key;
BT *l, *r;
};

BT* create_n(int key)
{
}

bool train_schedule(BT* rt, int index)
{
if (!rt)
return false;

map<int, string> m_train;
m_train[0] = "Thomas";
m_train[1] = "Edward";
m_train[2] = "Henry";
m_train[3] = "Gordon";

m_train[4] = "James";
m_train[5] = "Percy";
m_train[6] = "Toby";
m_train[7] = "Duke";

m_train[8] = "Donald&Douglas";
m_train[9] = "Oliver";
m_train[10] = "Arthur";
m_train[11] = "Emily";

}

int main()
{
int i = 0;
BT *rt = create_n('a');
rt->l = create_n('b');
rt->r = create_n('c');
rt->l->l = create_n('d');
rt->l->r = create_n('e');
rt->r->l = create_n('f');
rt->r->r = create_n('g');
rt->r->l->r = create_n('h');
rt->r->r->r = create_n('i');
rt->r->r->l = create_n('j');
rt->r->r->l->r = create_n('k');
rt->r->r->l->r->r = create_n('l');
std::cin >> i;

train_schedule(rt, i);
return 0;
}


我的代码:

#include<string.h>

BT* create_n(int key)
{
BT *p = new BT();
p->key = key - int('a');
p->l = p->r = NULL;
return p;
}

bool train_schedule(BT* rt, int index)
{
if (!rt)
return false;

map<int, string> m_train;
m_train[0] = "Thomas";
m_train[1] = "Edward";
m_train[2] = "Henry";
m_train[3] = "Gordon";

m_train[4] = "James";
m_train[5] = "Percy";
m_train[6] = "Toby";
m_train[7] = "Duke";

m_train[8] = "Donald&Douglas";
m_train[9] = "Oliver";
m_train[10] = "Arthur";
m_train[11] = "Emily";

if (rt->key == index)
{
train_schedule(rt->l, rt->l->key);
train_schedule(rt->r, rt->r->key);
printf("%s\n", m_train);
return true;
}
if (train_schedule(rt->l, index))return true;
return train_schedule(rt->r, index);
}


通过0%
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: