gpt4 book ai didi

C++ 从文件中读取矩阵类型输入

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:07:16 26 4
gpt4 key购买 nike

C++是否可以读取 NxN从文件输入矩阵样式,并在渐近复杂度优于 O(n^2) 的时间内将其分配给二维数组假设N在第一行给出,其他行在整数之间有一个空格?我可以通过遍历成本为 O(n^2) 的输入整数来一个一个地填充我的数组。 .

#define MAX_SIZE 1000

std::string row,temp;
std::ifstream inpfile("input.txt");
inpfile>>row;
int size=std::stoi(row);
static int M[MAX_SIZE][MAX_SIZE];

for(int i=0;i<size;++i){
for(int j=0;j<size;++j){
inpfile>>temp;
A[i][j]=std::stoi(temp);
}
}

我只是想读一读 nth line并创建 nth row数组(或一些容器),这将把时间复杂度降低到 linear time .有没有比迭代给定矩阵的所有元素更好的实现?

最佳答案

一个通过 O(N) 循环的答案,其中 N 是一个整数,但是就行而言,无论如何你总是有 O(N^2) 。也许这是您可能拥有的最接近的解决方案。

int temp;
int countX = 0;
while(inFile >> temp)
{
A[countX/size][countX % size] = std::stoi(temp);
countX++;
}

希望对您有所帮助。

关于C++ 从文件中读取矩阵类型输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47842045/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com