运行 时间的二维数组大小
2D Array size at run time
我正在将已知大小的矩阵(来自 file.txt)转换为相同大小的二维数组。这段代码很好。
但现在我真的想扩展它,比如将未知大小的矩阵放入二维数组,即使用动态大小的二维数组。
这是我正在修改的 C# 代码。
int[,] matrix = new int[3,3];
int i = 0, j = 0, k = 0;
#region Reading Matrices From Files
// Matrix 1 Manipulation...............
// Read the file as one string.
string text = System.IO.File.ReadAllText("file.txt");
//reads all the text of file of given path in a string
foreach (var row in text.Split('\n'))
{
//outter foreach loop is for setting number of rows equal to number lines by splittin over \n
j = 0;
foreach (var col in row.Trim().Split(' '))
{
//inner foreach loop is for setting number of columns equal to number chracters by splittin over space
matrix[i, j] = int.Parse(col.Trim());
j++;
}
i++;
}
感谢任何帮助....
数组是固定大小的数据结构。它在许多语言中都有很好的应用。很遗憾,一旦创建,您将无法修改其内容。
即Lists如何调整大小?
List实际上是用数组实现的。所以最初一个列表包含固定数量的对象。当你想添加一个超过这个容量的对象时,我们将当前数组复制到一个更大的数组中,从而动态增加容量。
使用这个想法,我们实际上可以创建您的矩阵 class 自动调整数组的大小,而不是列表。
我希望以上内容让您思考如何从数组创建矩阵!如果没有,这里有更多提示:
- 保留两个整数来跟踪当前数组的容量。如果你想添加一个超过一个的元素(比如你向一行添加一个条目但该行已经满了),那么你想做一个调整大小操作
- 调整大小操作包括初始化一个更大(通常是双倍)大小的新数组,然后复制所有值
- 不要忘记检查调整大小后所有数组的大小是否相同!你可能需要一个循环
我正在将已知大小的矩阵(来自 file.txt)转换为相同大小的二维数组。这段代码很好。
但现在我真的想扩展它,比如将未知大小的矩阵放入二维数组,即使用动态大小的二维数组。
这是我正在修改的 C# 代码。
int[,] matrix = new int[3,3];
int i = 0, j = 0, k = 0;
#region Reading Matrices From Files
// Matrix 1 Manipulation...............
// Read the file as one string.
string text = System.IO.File.ReadAllText("file.txt");
//reads all the text of file of given path in a string
foreach (var row in text.Split('\n'))
{
//outter foreach loop is for setting number of rows equal to number lines by splittin over \n
j = 0;
foreach (var col in row.Trim().Split(' '))
{
//inner foreach loop is for setting number of columns equal to number chracters by splittin over space
matrix[i, j] = int.Parse(col.Trim());
j++;
}
i++;
}
感谢任何帮助....
数组是固定大小的数据结构。它在许多语言中都有很好的应用。很遗憾,一旦创建,您将无法修改其内容。
即Lists如何调整大小?
List实际上是用数组实现的。所以最初一个列表包含固定数量的对象。当你想添加一个超过这个容量的对象时,我们将当前数组复制到一个更大的数组中,从而动态增加容量。
使用这个想法,我们实际上可以创建您的矩阵 class 自动调整数组的大小,而不是列表。
我希望以上内容让您思考如何从数组创建矩阵!如果没有,这里有更多提示:
- 保留两个整数来跟踪当前数组的容量。如果你想添加一个超过一个的元素(比如你向一行添加一个条目但该行已经满了),那么你想做一个调整大小操作
- 调整大小操作包括初始化一个更大(通常是双倍)大小的新数组,然后复制所有值
- 不要忘记检查调整大小后所有数组的大小是否相同!你可能需要一个循环