C ++到Java DepthFirstSearch的翻译

时间:2015-04-20 22:26:46

标签: java c++ code-translation

我必须将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;

特别令人困惑。有什么帮助吗?

2 个答案:

答案 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”替换,在这种情况下,可以在线获取指南。)