[問題] 哪種container適合處理數學上的空間座標(請看內文)

看板C_and_CPP作者 (兌現承諾)時間15年前 (2009/02/22 21:28), 編輯推噓2(2012)
留言14則, 5人參與, 最新討論串1/1
在做一些科學計算.之前都慣用vector. 常用的形式是1維與2維vector. 舉例來說(2維vector)常常需要列數與行數的訊息. 但是似乎沒有內建的函式可以幫忙處理. 請看我的程式碼如下 #include <iostream> #include <cstdlib> #include <vector> using namespace std; int main() { vector<vector<double> > c(7,vector<double>(4)); int size=c.size(); /*這樣只得到7的訊息*/ cout << size << endl; vector<double> d(4,1); vector<vector<double> > e(7,d); /*藉由這種較不直接的方式我得到 cout << d.size() << endl; 預先設定的4*/ system("pause"); return 0; } 有沒有什麼辦法可以很方便的得到列.行數的訊息. 或是有別的container更適合. 謝謝你的幫忙. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.11.75

02/22 21:38, , 1F
要看詳細是要解什麼問題..STL指是一般的container而已
02/22 21:38, 1F

02/22 21:39, , 2F
如果是我的話..我大概會用adjacency matrix做
02/22 21:39, 2F

02/22 21:41, , 3F
類似的概念啦...因為不太確定你的二維座標是不是都有值
02/22 21:41, 3F

02/22 21:43, , 4F
我的要求只是能夠輕鬆的取出行數列數的資訊
02/22 21:43, 4F

02/22 21:44, , 5F
你這個我不懂=.= 大概是因為我不是資工系的沒學過
02/22 21:44, 5F

02/22 21:45, , 6F
如果沒有現成的函式可用 我只好另想它法了
02/22 21:45, 6F

02/22 21:45, , 7F
謝謝囉!
02/22 21:45, 7F

02/22 21:48, , 8F
你用 python 或是 ruby 會有比較適合的工具...
02/22 21:48, 8F

02/22 22:01, , 9F
cout << c[0].size() << endl; --> 4
02/22 22:01, 9F

02/22 22:01, , 10F
vector內部裝vector 自然而然[]取出來的還是vector
02/22 22:01, 10F

02/22 22:02, , 11F
真的喜歡的話 還能玩上三角下三角矩陣
02/22 22:02, 11F

02/22 22:03, , 12F
我懂了 謝謝你們的回覆
02/22 22:03, 12F

02/22 22:03, , 13F
cout << c.at(0).size() << endl; 這個會檢查index的範圍
02/22 22:03, 13F

02/22 23:49, , 14F
Boost.MultiArray
02/22 23:49, 14F
文章代碼(AID): #19eLBzPD (C_and_CPP)