использование переменной stati c в этой программе для замены ссылочной переменной - PullRequest
0 голосов
/ 06 марта 2020

это код топологической сортировки. здесь я передал "c" в topoSort в dfs в качестве ссылки. я хотел сделать это, используя переменную stati c. как это сделать?

здесь, если использовать обычную переменную, это испортит [d ++].


void dfs(int s,vector<int> ad[],int vis[],int a[],int &d){
    vis[s]=1;
    for(int x:ad[s])
    if(!vis[x])
    {
        dfs(x,ad,vis,a,d);
    }
    a[d++]=s;
}
int* topoSort(int V, vector<int> adj[]) {
    // Your code here
    vector<int> adj1[V];
    for(int i=0;i<V;i++)
    for(int x:adj[i])
    adj1[x].push_back(i);

    int vis[V]={0};
    int *a=new int[V];
    int c=0;
    for(int i=0;i<V;i++)
    {
        if(!vis[i])
        dfs(i,adj1,vis,a,c);
    }

    return a;
}
...