我現在有一個二維數組數組,我需要做的是弄清楚如何用一個名字來引用它們的整個「行」......引用二維數組中的整行數組
我想要做的是在一個名爲ROOT的程序中使每個「行」成爲TBree。每一行是與單個直方圖上的所有分箱中的數據對應的數字列表,並且每個列在每個直方圖中填充有與特定分箱(即:分箱3)相對應的數字(如果有意義的話)。我只需要找到一種方法來將數據按直方圖/行分開,並將這些數據視爲他們自己的個人事物(如果可能的話)。如果這不是連貫的,我很抱歉!
我現在有一個二維數組數組,我需要做的是弄清楚如何用一個名字來引用它們的整個「行」......引用二維數組中的整行數組
我想要做的是在一個名爲ROOT的程序中使每個「行」成爲TBree。每一行是與單個直方圖上的所有分箱中的數據對應的數字列表,並且每個列在每個直方圖中填充有與特定分箱(即:分箱3)相對應的數字(如果有意義的話)。我只需要找到一種方法來將數據按直方圖/行分開,並將這些數據視爲他們自己的個人事物(如果可能的話)。如果這不是連貫的,我很抱歉!
我真的不明白你的問題的第二部分,所以我只是地址如何訪問二維數組(又名矩陣)中的行。如果這不是你問的問題,你將不得不擴大你的問題。多維數組通常設置爲包含其他數組的數組(如下所示)。 2D陣列可能如下所示:
std::vector<std::vector<int> > myMatrix;
for (int y = 0; y < LIMIT_Y; ++y) {
std::vector row;
for (int x = 0; x < LIMINT_X; ++x) {
row.push_back(0);
}
myMatrix.push_back(row);
}
此示例將生成一個填充零的二維數組。但是,您可以指定myMatrix
是否包含保存列值的行,或者如果myMatrix
包含保存行值的列。在這種情況下,我選擇它來包含行。你可以知道存取權限由myMatrix[i]
矩陣將返回第i行作爲特定行的std::vector<int>
這是接近我所需要的。謝謝。我再次道歉,我的問題措辭不佳。 –
如果您已經創建了一個二維數組,像這樣:
char** arr;
// fill up arr with elements
int rows = 20, columns = 50;
arr = (char**) malloc (rows * columns * sizeof(char));
,你想參考,說排5號,你這樣做:
arr[4] // here, the index 4 refers to the entire 5th row of arr
例如,您可以通過arr[4]
到預期的指針參數的函數。
也許std :: map是我所瞭解的問題所需要的。 – manasij7479