首頁>技術>

假設我們要為Graph建立一個類。該類儲存圖的鄰接矩陣表示。

因此,我們的分類結構如下所示。

class Graph {

int V;

int adj[V][V];

};

int main() {

}

即使我們將V設為靜態,也會出現錯誤“陣列邊界不是整數常量”

C ++不允許在大小不恆定的型別中建立堆疊分配的陣列。因此,我們需要動態分配記憶體。下面是一個簡單的程式,用於顯示如何使用帶有鄰接矩陣表示形式的Graph類在C ++類中動態分配2D陣列。

輸出:

0 1 1 0

0 0 1 0

1 0 0 1

0 0 0 1

關於呼叫memset()的註釋:

memset()單獨用於單獨的行。我們不能用一個呼叫替換這些呼叫,因為行被分配在不同的地址,並且像下面這樣進行memset呼叫將是災難性的。

memset(adj,false,V * V * sizeof(bool));

錯誤!(矩陣在不同地址處的行)

本期的知識分享就到這裡了,希望對大家有幫助~

另外如果你想更好地提升你的程式設計能力,學好C語言C++程式設計!彎道超車,快人一步!筆者覺得這裡或許可以幫到你~

程式設計學習書籍分享:

程式設計學習影片分享:

分享(原始碼、專案實戰影片、專案筆記,基礎入門教程)

10
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • leetcode1750_刪除字串兩端相同字元後的最短長度