C++ to Java DepthFirstSearch translation

C++ to Java DepthFirstSearch translation

本文关键字:translation DepthFirstSearch Java to C++      更新时间:2023-10-16

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

尤其令人困惑。有什么帮助吗?

HeadNode *V[MaxCities]是一个指向HeadNode对象的指针数组。在Java中,它就像一个数组。

若要从对象指针获取值或方法,请使用 -> 运算符。在Java中,它是来自对象的某种. oprtator。

cout 是一个写入 stdout 的输出流,在 Java 中,这将是 System.out.print()

<<运算符用于写入此流。

endl喜欢新行字符rn

<City; 的行 cout 特别令人困惑。 有什么帮助吗?

将翻译为:

System.out.print("rn" + v[Start].City);

在线搜索"cpp to java - [function]"(在这种情况下,[function]被"cout"取代)提供了在线指南。