`
txf2004
  • 浏览: 7134324 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

【C&C++】上海交大以前的一道复试题

阅读更多
/**//*
上海交通大学cs的一道复试题
原题目如下:
给你一串路径,譬如
ac
ade
bcst
d
你把这些路径中蕴涵的目录结构给画出来,子目录直接列在父目录下面,并比父目录向右

缩一格,就象这样
a
b
c
d
e
b
cst
d
程序通过调试没有问题
只不过员题目有一点要求排序,我这里使用了指针来存储在VECTOR里,使用SORT的时候就出现问题了,
有解决意见的可以在后面评论
作者:Albert
*/



#include
<iostream>
#include
<vector>
#include
<algorithm>
#include
<string>
#include
<sstream>
#include
<fstream>


usingnamespacestd;





classDirectory
...{
public:
boolhasSubDirectoy(stringdname)
...{
intn=subdirs.size();
if(n==0)returnfalse;

for(inti=0;i<n;i++)
...{
if(subdirs[i]->DirectoryName==dname)returntrue;
}


returnfalse;
}


Directory
*getSubDirectory(stringdname)
...{
intn=subdirs.size();
if(n==0)returnNULL;

for(inti=0;i<n;i++)
...{
if(subdirs[i]->DirectoryName==dname)returnsubdirs[i];
}

returnNULL;

}


Directory
*addSubPath(stringdname)
...{
Directory
*pDir=newDirectory();
pDir
->DirectoryName=dname;
subdirs.push_back(pDir);
//sort(subdirs.begin(),subdirs.end(),comp);
//POINTERVECTORNOTEASILYSORTED

returnpDir;
}


intremoveAllPaths()
...{
intn=subdirs.size();
if(n!=0)
...{
for(inti=0;i<n;i++)subdirs[i]->removeAllPaths();
}

delete
this;

return1;
}


~Directory()
...{
removeAllPaths();
}


voidOutPut()
...{
staticintlevel=0;
cout
<<DirectoryName<<endl;
intn=subdirs.size();
if(n!=0)
...{

intthislevel=level++;

for(inti=0;i<n;i++)
...{
for(intj=0;j<level;j++)cout<<" ";
subdirs[i]
->OutPut();

}

level
=thislevel;

}



return;

}




stringDirectoryName;
vector
<Directory*>subdirs;

protected:


private:


}
;


voidParseString(Directory*pDir,stringdes)
...{
intn=des.size();
intfrom=0;
intto=0;
stringsubstr;

stringstreamss(des);
while(getline(ss,substr,'\'))
...{
if(!(pDir->hasSubDirectoy(substr)))
...{
pDir
=pDir->addSubPath(substr);
}

else
...{
pDir
=pDir->getSubDirectory(substr);
}

}




return;
}





intmain()
...{

ifstreaminfile(
"infile.txt");
stringstr;
Directoryroot;
while(getline(infile,str))
...{
ParseString(
&root,str);
}


root.OutPut();

infile.close();
system(
"pause");
return0;
}
分享到:
评论

相关推荐

    2021上海交通大学计算机复试上机题及题解.rar

    本压缩包文件"2021上海交通大学计算机复试上机题及题解.rar"包含了当年的机考题目以及解题思路,主要针对C++编程语言。 机考题目通常涵盖了数据结构、算法、操作系统、计算机网络等多个基础科目,旨在评估考生对...

    上海交大的研究生复试试题

    从给出的标签"交大"、"研究生"、"复试上机"我们可以看出,这部分内容主要涉及上海交通大学研究生入学考试的上机操作部分,这通常包括编程能力、算法理解、数据结构应用以及问题解决能力的考核。 05-07年的试题涵盖...

    上海交通大学08年研究生复试机试题

    【压缩包子文件的文件名称】"08交大复试上机题[1].pdf"表明包含的是2008年上海交通大学复试的上机试题文档,格式为PDF,这是一种常用的文档格式,用于保存和分享具有固定布局的电子文档。 基于这些信息,我们可以...

    计算机考研复试上机集锦

    4. 08交大复试上机题.pdf:这是2008年上海交通大学的复试上机题目,以PDF格式呈现,可能包含一些特殊的编程问题或者特定的技术要求,考生需要关注细节,提高处理各种情况的能力。 5. 浙大复试上机试题(2005-2008)....

    考研复试准备以及408相关内容

    习题2.3 old bill(上海交通大学复试上机题) http://t.cn/E9jqijR 2.2 模拟 1. 图形排版 题目 地址 例题2.4 输出梯形(清华大学复试上机题) 例题2.5 叠筐 http://acm.hdu.edu.cn/showproblem.php?pid=2

    C408:考研复试准备以及408相关内容

    旧账单(上海交通大学复试上机题) 2.2模拟 1.图形绘图 译文 地址 例题2.4 输出梯形(清华大学复试上机题) 例题2.5 叠筐 习题2.4 转发器(北京大学复试上机题) 习题2.5 U的Hello World(浙江大学复试上机题)...

    计算机保研复试题目

    华科(华中科技大学)和上海交大(上海交通大学)作为国内顶尖高校,在计算机领域的教育和研究方面有着极高的声誉。这份整理的复试资料,无疑是为备考者提供了宝贵的参考资料。 首先,我们要明白保研复试的核心内容...

    研究生复试上(上交大、浙大、华科等)

    在研究生入学考试的复试阶段,很多知名高校如上海交通大学、浙江大学、华中科技大学等会设置上机测试环节,考察考生的实际编程能力和问题解决能力。这些上机题目的涵盖范围广泛,包括但不限于数据结构、算法、操作...

    计算机研究生复试资料

    最后,“上海交通大学05-07年上机真题附答案.rar”提供了上海交大历年上机考试的题目和答案,考生可以通过这些真题来检验自己的编程能力和问题解决能力,了解考试的难度和风格。 总的来说,这份复试资料全面覆盖了...

    c++编程 数据结构与程序设计方法

    #### 上海交通大学医学院 - **分数线**:320分 - **分析**:与复旦大学相比,上海交大的分数线略低,但仍处于高水平,表明该校对研究生的选拔标准依然严格。 #### 华中科技大学同济医学院 - **分数线**:330分 - **...

    上海交通大学05-07考研上机题目

    在深入探讨上海交通大学2005至2007年计算机科学与技术专业考研复试的上机题目之前,首先需要明确这些题目的核心目的在于考察考生的编程基础、算法设计能力以及逻辑思维。因此,这些题型和所涉及的知识点对于考研复试...

    SJTU-CS复试机试(2005-2010)

    上海交通大学(SJTU)计算机科学(CS)专业在历年复试阶段都会进行机试考核,这个压缩包文件“SJTU-CS复试机试(2005-2010)”很可能包含了2005年至2010年期间该学校计算机科学硕士研究生复试的上机考试题目。...

Global site tag (gtag.js) - Google Analytics