二維陣列和vector實現dijkstra

2021-08-04 10:05:57 字數 850 閱讀 8519

關於迪傑斯特拉演算法:通俗的來講就是每次從起點(確定、唯一)選一條到終點(此處終點是廣義的終點不是題目所給出詢問的終點)最短的路(dist[i])(dist[i]是一邊使用 一邊修改的注意!)將該終點作為行營,依次向外擴充套件,更新從起點到這點的最短路。(二維陣列:對於行營接觸不到的點本來是想更新的,但由於if判斷語句不為真所以沒更新成,定義域為全體的點;vector:由於vector形象的存放了與當前點相連的點 ,因此只是想更新與當前點相連的點,定義域比二維陣列的要小 //for(j=0; j

int vis[maxn];

int dist[205];

struct edge;

vector

roadd[maxn];

int dijkstra(int st,int en,int n)

cur=0;

for(j=1;j<=n;j++)

} vis[cur]=1;

}

return dist[en];

}//媽呀好難呀

int main()

cin>>askst>>asken; //詢問

cout

0;}

二維陣列:

int dist[maxn];

intmap[maxn][maxn];

int vis[maxn];

int dijkstra(int st,int end,int n)

}int main()

for(i=1;i<=m;i++)

}

cin>>st>>en; //詢問

cout

0;}

vector實現二維陣列

用vector實現二維陣列的好處 1 陣列的越界可能會引起程式的崩潰,動態性不好,包括動態改變大小,動態申請。2 vector提供了operator函式,可以像陣列一樣的操作,而且還有邊界檢查,動態改變大小。簡單說下c 構建動態的二維陣列 int p p new int 10 注意,int 10 表...

使用Vector實現二維陣列

from xheartblue.home.chinaren.com 用vector取代c style的陣列 提起陣列,大家想必都很熟悉,你可以用索引和指標來運算元組,給程式設計帶來了很大的靈活性。但是你知道它有許多天生的缺陷嗎?首先,陣列的越界可能會引起程式的崩潰 如果崩潰了,還算你走運 其次是動態...

使用Vector實現二維陣列

from xheartblue.home.chinaren.com 用vector取代c style的陣列 提起陣列,大家想必都很熟悉,你可以用索引和指標來運算元組,給程式設計帶來了很大的靈活性。但是你知道它有許多天生的缺陷嗎?首先,陣列的越界可能會引起程式的崩潰 如果崩潰了,還算你走運 其次是動態...