作者luckychild (兌現承諾)
看板C_and_CPP
標題[問題] 哪種container適合處理數學上的空間座標(請看內文)
時間Sun Feb 22 21:28:28 2009
在做一些科學計算.之前都慣用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
1F:→ pponywong:要看詳細是要解什麼問題..STL指是一般的container而已 02/22 21:38
2F:→ pponywong:如果是我的話..我大概會用adjacency matrix做 02/22 21:39
3F:→ pponywong:類似的概念啦...因為不太確定你的二維座標是不是都有值 02/22 21:41
4F:→ luckychild:我的要求只是能夠輕鬆的取出行數列數的資訊 02/22 21:43
5F:→ luckychild:你這個我不懂=.= 大概是因為我不是資工系的沒學過 02/22 21:44
6F:→ luckychild:如果沒有現成的函式可用 我只好另想它法了 02/22 21:45
7F:→ luckychild:謝謝囉! 02/22 21:45
8F:→ softwind:你用 python 或是 ruby 會有比較適合的工具... 02/22 21:48
9F:推 chrisdar:cout << c[0].size() << endl; --> 4 02/22 22:01
10F:→ chrisdar:vector內部裝vector 自然而然[]取出來的還是vector 02/22 22:01
11F:→ chrisdar:真的喜歡的話 還能玩上三角下三角矩陣 02/22 22:02
12F:→ luckychild:我懂了 謝謝你們的回覆 02/22 22:03
13F:→ chrisdar:cout << c.at(0).size() << endl; 這個會檢查index的範圍 02/22 22:03
14F:推 tinlans:Boost.MultiArray 02/22 23:49