style: format code

This commit is contained in:
yanglbme
2019-08-21 10:10:08 +08:00
parent abc0d365de
commit 69ddc9fc52
101 changed files with 3154 additions and 2984 deletions

View File

@@ -15,7 +15,7 @@ public:
{
// initializes the array edges.
this->edges = new int*[V];
this->edges = new int *[V];
for (int i = 0; i < V; i++)
{
edges[i] = new int[V];
@@ -31,7 +31,6 @@ public:
}
this->vertexNum = V;
}
//Adds the given edge to the graph
@@ -39,36 +38,33 @@ public:
{
this->edges[src][dst] = weight;
}
};
//Utility function to find minimum distance vertex in mdist
int minDistance(int mdist[], bool vset[], int V)
{
int minVal = INT_MAX, minInd = 0;
for(int i=0; i<V; i++)
for (int i = 0; i < V; i++)
{
if(!vset[i] && (mdist[i] < minVal))
if (!vset[i] && (mdist[i] < minVal))
{
minVal = mdist[i];
minInd = i;
}
}
return minInd;
}
//Utility function to print distances
void print(int dist[], int V)
{
cout<<"\nVertex Distance"<<endl;
for(int i = 0; i < V; i++)
cout << "\nVertex Distance" << endl;
for (int i = 0; i < V; i++)
{
if( dist[i] < INT_MAX)
cout<<i<<"\t"<<dist[i]<<endl;
if (dist[i] < INT_MAX)
cout << i << "\t" << dist[i] << endl;
else
cout<<i<<"\tINF"<<endl;
cout << i << "\tINF" << endl;
}
}
@@ -83,54 +79,51 @@ void Dijkstra(Graph graph, int src)
// in the shortest path tree
//Initialise mdist and vset. Set distance of source as zero
for(int i=0; i<V; i++)
for (int i = 0; i < V; i++)
{
mdist[i] = INT_MAX;
vset[i] = false;
}
mdist[src] = 0;
//iterate to find shortest path
for(int count = 0; count<V-1; count++)
for (int count = 0; count < V - 1; count++)
{
int u = minDistance(mdist,vset,V);
int u = minDistance(mdist, vset, V);
vset[u] = true;
for(int v=0; v<V; v++)
for (int v = 0; v < V; v++)
{
if(!vset[v] && graph.edges[u][v] && mdist[u] + graph.edges[u][v] < mdist[v])
if (!vset[v] && graph.edges[u][v] && mdist[u] + graph.edges[u][v] < mdist[v])
{
mdist[v] = mdist[u] + graph.edges[u][v];
}
}
}
print(mdist, V);
}
//Driver Function
int main()
{
int V,E,gsrc;
int src,dst,weight;
cout<<"Enter number of vertices: ";
cin>>V;
cout<<"Enter number of edges: ";
cin>>E;
int V, E, gsrc;
int src, dst, weight;
cout << "Enter number of vertices: ";
cin >> V;
cout << "Enter number of edges: ";
cin >> E;
Graph G(V);
for(int i=0; i<E; i++)
for (int i = 0; i < E; i++)
{
cout<<"\nEdge "<<i+1<<"\nEnter source: ";
cin>>src;
cout<<"Enter destination: ";
cin>>dst;
cout<<"Enter weight: ";
cin>>weight;
cout << "\nEdge " << i + 1 << "\nEnter source: ";
cin >> src;
cout << "Enter destination: ";
cin >> dst;
cout << "Enter weight: ";
cin >> weight;
// makes sure source and destionation are in the proper bounds.
if (src >= 0 && src < V && dst >= 0 && dst < V)
@@ -144,9 +137,9 @@ int main()
continue;
}
}
cout<<"\nEnter source:";
cin>>gsrc;
Dijkstra(G,gsrc);
cout << "\nEnter source:";
cin >> gsrc;
Dijkstra(G, gsrc);
return 0;
}