如何评价360的2017年网易2017校招笔试试

【奇虎360】 2017年校招笔试题 (技术岗编程题 -- 内存管理) - muqidi - 博客园
哎,感觉考试好难啊啊啊啊啊啊!!!!40个选择题+两个编程题。120分钟。那么多读程序的题目。题目都看不完有木有啊!!!!!!!!感觉整个人生都不好了。
题目描述:(具体的也记不清楚了,但是主要内容就是下面的)
模拟内存的分配 释放 和 整理。
操作如下:
new size:分配size字节大小的内存块,返回内存块的句柄handle,size为正整数,如果没有合适的空间返回null。
del handle:释放句柄handle指向的内存块。
def 整理内存碎片。
输入第一行为一个n,m , 分别表示操作次数和内存空间大小。
接下来n行是表示一个操作。
1 #include&iostream&
2 #include&list&
3 #include&string&
4 using namespace
5 struct Memory{
unsigned int
bool//使用1 没有使用0
11 void New(list&Memory& &list_memory,unsigned int value,int &handle ){
bool is_success = false;
for (list&Memory&::iterator i = list_memory.begin(); i != list_memory.end(); i++){
if (!(*i).isuesed && (*i).value &= value){
if ((*i).value == value){
(*i).isuesed = 1;
(*i).handle = handle++;
m.handle = handle++;
m.isuesed = 1;
list_memory.insert(i, m);
(*i).value -=
is_success = true;
cout && handle - 1 &&
if (!is_success){
cout && "NULL" &&
37 void Def(list&Memory& &list_memory){
int value = 0;
for (list&Memory&::iterator i = list_memory.begin(); i != list_memory.end();){
if (!(*i).isuesed){
value += (*i).
(*i).handle = 0;
i = list_memory.erase(i);
if (value){
me.isuesed = 0;
me.value =
me.handle = 0;
list_memory.push_back(me);
60 void Delete(list&Memory& &list_memory,unsigned int value){
bool is_success = false;
for (list&Memory&::iterator i = list_memory.begin(); i != list_memory.end(); i++){
if ((*i).handle == value){
(*i).isuesed = 0;
(*i).handle = 0;
if (i != list_memory.begin()){
if (!(*i).isuesed){
_del_value = (*i).
i = list_memory.erase(i);
(*i).value += _del_
if (i != list_memory.end() && !(*i).isuesed){
_del_value = (*i).
i = list_memory.erase(i);
(*i).value += _del_
is_success = true;
if (!is_success){
cout && "error" &&
96 int main(){
while (cin && n && m){
list&Memory& list_
me.value =
me.isuesed = 0;
me.handle = 0;
list_memory.push_back(me);
static int handle = 1;
for (int l = 0; l & l++){
unsigned int
if (op == "new"){
New(list_memory, value,handle);
else if (op == "def"){
Def(list_memory);
else if (op == "del"){
Delete(list_memory, value);
for (list&Memory&::iterator i = list_memory.begin(); i != list_memory.end(); i++){
cout && (*i).value && ' ' && (*i).isuesed && ' ' && (*i).handle &&
cout && "---------------------分割线-------------------------------------------" &&(SPC学生合伙人)
(难免会宿醉)
第三方登录:2017网易校园招聘内推,为什么还是有笔试呢?不是应该免笔试吗_百度知道}

我要回帖

更多关于 腾讯2017校园招聘笔试 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信