diff --git a/CREATED DIJKSTRA ALGORITHM IN C++ b/CREATED DIJKSTRA ALGORITHM IN C++ new file mode 100644 index 0000000..ce96160 --- /dev/null +++ b/CREATED DIJKSTRA ALGORITHM IN C++ @@ -0,0 +1,80 @@ + +#include +using namespace std; + + + +#define V 9 + + +int minDistance(int dist[], bool sptSet[]) +{ + + + int min = INT_MAX, min_index; + + for (int i = 0; i < V; i++) + if (sptSet[i] == false && dist[i] <= min) + min = dist[i], min_index = i; + + return min_index; +} + + +void printSolution(int dist[]) +{ + cout << "Vertex Distance from Source" << endl; + for (int i = 0; i < V; i++) + cout << i << " " << dist[i] << endl; +} + + +void dijstra(vector> graph, int s) +{ + int dist[V]; + + bool sptSet[V]; + for (int i = 0; i < V; i++) + dist[i] = INT_MAX, sptSet[i] = false; + + + dist[s] = 0; + + + for (int j = 0; j < V - 1; j++) { + + int u = minDistance(dist, sptSet); + + + sptSet[u] = true; + + + for (int i = 0; i < V; i++) + + + if (!sptSet[i] && graph[u][i] + && dist[u] != INT_MAX + && dist[u] + graph[u][i] < dist[i]) + dist[i] = dist[u] + graph[u][i]; + } + + + printSolution(dist); +} + +int main() +{ +vector> v(V,vector(V,0)); +cout<<"enter element "<>v[i][j]; + } + cout<