C++ 距離矩陣

2023-03-20 16:51 更新

最后,我們準(zhǔn)備把數(shù)據(jù)從文件讀入一個(gè)矩陣中。具體來說,每個(gè)城市在該矩陣中都一個(gè)相應(yīng)的行和列。

我們將在main函數(shù)中創(chuàng)建該矩陣,它會(huì)剩余大量空間:

apmatrix<int> distances (50, 50, 0);

在processLine內(nèi)部,我們從Set中得到兩個(gè)城市的索引,并以這兩個(gè)索引為矩陣的索引,向矩陣中添加了新信息:

int dist = convertToInt (distString);
int index1 = cities.add (city1);
int index2 = cities.add (city2);

distances[index1][index2] = distance;
distances[index2][index1] = distance;

最后,在main函數(shù)中我們可以將信息以可讀的形式打印出來:

for (int i=0; i<cities.getNumElements(); i++) {
  cout << cities.getElement(i) << "\t";

  for (int j=0; j<=i; j++) {
    cout << distances[i][j] << "\t";
  }
  cout << endl;
}

cout << "\t";
for (int i=0; i<cities.getNumElements(); i++) {
  cout << cities.getElement(i) << "\t";
}
cout << endl;

這段代碼的輸出就是本章開頭的矩陣。原始數(shù)據(jù)可以從本書網(wǎng)站獲取。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)