windows程式設計中遇到的問題及解決

2021-08-20 22:23:28 字數 1209 閱讀 9894

在qt的學習過程中我們總是離不開演算法的思想,我這次在解決用qt編寫專案時就遇到了自己已知思想無法迅速解決的問題,於是我上網查詢了關於最短路徑的問題,以下就是我對最短路徑演算法的總結。

傑斯特爾拉演算法是典型的最短路徑演算法,用於計算乙個節點到其他所有節點的最短路徑。主要特點是以起始點為中心向外層層擴充套件,直到擴充套件到終點為止。傑斯特拉演算法能算出最短路徑的最優解,但由於它遍歷計算的節點很多,所以效率很低。

#include

using namespace std;

const int maxnum = 100;

const int maxint = 999999;

void dijkstra(int n, int v, int *dist, int *prev, int c[maxnum][maxnum])

dist[v] = 0;

s[v] = 1;

// 依次將未放入s集合的結點中,取dist最小值的結點,放入結合s中

// 一旦s包含了所有v中頂點,dist就記錄了從源點到所有其他頂點之間的最短路徑長度

for(int i=2; i<=n; ++i)

int main()

}for(int i=1; i<=n; ++i)

dist[i] = maxint;

for(int i=1; i<=n; ++i)

dijkstra(n, 1, dist, prev, c);

// 最短路徑長度

cout << "源點到最後乙個頂點的最短路徑長度: " << dist[n] << endl;

// 路徑

cout << "源點到最後乙個頂點的路徑為: ";

searchpath(prev, 1, n);

輸入資料:57

1 2 10

1 4 30

1 5 100

2 3 50

3 5 10

4 3 20

4 5 60

輸出資料:

999999 10 999999 30 100

10 999999 50 999999 999999

999999 50 999999 20 10

30 999999 20 999999 60

100 999999 10 60 999999

源點到最後乙個頂點的最短路徑長度: 60

源點到最後乙個頂點的路徑為: 1 -> 4 -> 3 -> 5

Windows 程式設計中的問題

預設當前工作目錄 vcxproj 檔案所在的目錄,所以在設定相對路徑時需要根據這個檔案所在位置來設定。而直接執行exe時是相對於exe所在的目錄,或者執行exe時的工作目錄。執行庫配置 將相關的dll檔案新增到exe所在目錄 將dll檔案新增到 c windows system32 32bit 或者...

程式設計中遇到的問題(二)

1將資料庫中表通過sqldataadapter儲存到datatable就可以用datatable.select 在記憶體中查詢符合條件的行,不用讀資料庫就可以查詢。昨天寫了乙個到資料庫查詢重複主鍵的 結果主鍵衝突在datatable中新增行時就被丟擲了,白寫了一大堆。2fileupload控制項獲取...

程式設計中遇到的問題20141222 1

今天使用innertext給span賦值的時候,發現不顯示,然後在ie下面有效,結果經過查詢資料發現火狐不支援該屬性,應該使用代替的textcontent,然而ie還不支援這個屬性,所有就該有個判斷,決定使用哪個屬性.本人使用的判斷瀏覽器是不是ie的方式是 if v v else,原理如下 因為在i...