我必须将C ++源代码翻译成Java。不幸的是,我从未接受过C ++教授。大部分都很容易,但我可以使用一些帮助。
void DepthFirstSearch(HeadNode *V[MaxCities], bool *Visited, int Start)
{
//display each cited as it is visited
cout << endl << V[Start]->City;
//mark city as visited
Visited[Start] = true;
//continue depth first search
CityNode *C;
int NewStart;
C = V[Start]->FirstCity;
while(C != NULL){
NewStart = C->Vertex;
if(!Visited[NewStart])
DepthFirstSearch(V,Visited,NewStart);
C = C->NextCity;
}//end while
}//end DepthFirstSearch
该行:
cout << end1 << V[Start]->City;
特别令人困惑。有什么帮助吗?
答案 0 :(得分:2)
HeadNode *V[MaxCities]
是指向HeadNode对象的指针数组。在Java中它就像一个数组。
要从对象指针获取值或方法,请使用->
运算符。
在Java中,它是来自对象的某种.
oprtator。
cout
是一个写入stdout的输出流,在Java中这将是System.out.print()
<<
运算符用于写入此流。
endl
喜欢换行符\r\n
答案 1 :(得分:1)
行cout&lt;&lt; end1&lt;&lt; V [开始] - &GT;城;特别令人困惑。 有什么帮助吗?
会转换为:
System.out.print("\r\n" + v[Start].City);
通过在Google搜索“cpp to java - [function]”([function]被“cout”替换,在这种情况下,可以在线获取指南。)