demo_dijkstra : การหาเส้นทางที่ใกล้ที่สุด dijkstra

โจทย์สำหรับ
#include <iostream>

using namespace std;



int V=8;
int mat[V][V]={0};
float dist[V];
bool sptSet[V];

int minDistance(){
  int u=-1;
  for(int i=0;i<V;i++){
   if(!sptSet[i]){
     if(u==-1 || dist[i]<dist[u]) u=i;  
   }    
  }
  return u;
}

void dijkstra(int src)
{
    for (int i = 0; i < V; i++)
    {
        dist[i] = INT_MAX;
        sptSet[i] = false;
    }
    dist[src] = 0;
    for (int count = 0; count < V - 1; count++)
    {
        int u = minDistance();
        sptSet[u] = true;
        if(dist[u] != INT_MAX) continue;
        for (int j = 0; j < V; j++){
            if (sptSet[j]==false && mat[u][j]!=0){
              float newdest = dist[u] + mat[u][j];  
              if( newdest  < dist[j])
                dist[j] = newdest;
            }
        }
        for (int j = 0; j < V; j++){
          count=0;
        }
    }
    // Print result
    for (int i = 0; i < V; i++)
    {
        if (dist[i] < INT_MAX)
            cout << src << " to " << i << " = " << dist[i] << endl;
    }
}

int main()
{
        return 0;
}