avatar
二维数组问题# JobHunting - 待字闺中
Y*f
1
面试题中经常要用到二维数组,但是又不能简单的用一个new来创建二维数组,我知道
的大概有这三种:
1. 用一维数组代替二维数组 A(i, j) = arr[i * N + j]
2. careercup 150道里面提到new int[M * N + M], 然后把前面M个设定为指向一维数
组的指针。
3. vector tempVect(N); vector> vect(m, tempVect);
但是用起来都很别扭,大家有什么好的方法?
avatar
p*2
2

为什么不能创建二维数组?

【在 Y********f 的大作中提到】
: 面试题中经常要用到二维数组,但是又不能简单的用一个new来创建二维数组,我知道
: 的大概有这三种:
: 1. 用一维数组代替二维数组 A(i, j) = arr[i * N + j]
: 2. careercup 150道里面提到new int[M * N + M], 然后把前面M个设定为指向一维数
: 组的指针。
: 3. vector tempVect(N); vector> vect(m, tempVect);
: 但是用起来都很别扭,大家有什么好的方法?

avatar
Y*f
3
new int[i][j]如果i不是const的时候会出错吧。

【在 p*****2 的大作中提到】
:
: 为什么不能创建二维数组?

avatar
p*2
4

你测过吗。 Java应该没问题吧。

【在 Y********f 的大作中提到】
: new int[i][j]如果i不是const的时候会出错吧。
avatar
b*i
5
new and then new in a for loop
int **array_ptr; //two * are needed because it is a pointer to a pointer
array_ptr=new int*[firstnumber]; //creates a new array of pointers to int
objects
for(int i=0; iarray_ptr[i]=new int[secondnumber];

【在 Y********f 的大作中提到】
: 面试题中经常要用到二维数组,但是又不能简单的用一个new来创建二维数组,我知道
: 的大概有这三种:
: 1. 用一维数组代替二维数组 A(i, j) = arr[i * N + j]
: 2. careercup 150道里面提到new int[M * N + M], 然后把前面M个设定为指向一维数
: 组的指针。
: 3. vector tempVect(N); vector> vect(m, tempVect);
: 但是用起来都很别扭,大家有什么好的方法?

avatar
l*8
6
c++里面不能 new int[n][m]; 只能new int [n][3]; 第二维大小必须是常数。
gcc/g++支持这样的语句:
int n, m;
cin >> n >> m;
int a[n][m];
不过vc不支持。

【在 p*****2 的大作中提到】
:
: 你测过吗。 Java应该没问题吧。

avatar
p*2
7

很恶心呀。

【在 l*********8 的大作中提到】
: c++里面不能 new int[n][m]; 只能new int [n][3]; 第二维大小必须是常数。
: gcc/g++支持这样的语句:
: int n, m;
: cin >> n >> m;
: int a[n][m];
: 不过vc不支持。

avatar
l*8
8
java的确避免了很多C++恶心的地方。

【在 p*****2 的大作中提到】
:
: 很恶心呀。

avatar
M*A
9
C/C++ 可以用指针来创建二维数组
avatar
f*4
10
boost.MultiArray

【在 Y********f 的大作中提到】
: 面试题中经常要用到二维数组,但是又不能简单的用一个new来创建二维数组,我知道
: 的大概有这三种:
: 1. 用一维数组代替二维数组 A(i, j) = arr[i * N + j]
: 2. careercup 150道里面提到new int[M * N + M], 然后把前面M个设定为指向一维数
: 组的指针。
: 3. vector tempVect(N); vector> vect(m, tempVect);
: 但是用起来都很别扭,大家有什么好的方法?

avatar
Y*f
11
我说的第二个就是这种方法

【在 M**A 的大作中提到】
: C/C++ 可以用指针来创建二维数组
avatar
t*n
12
vector> 感觉用起来最方便啊,STL毕竟不容易出bug
avatar
b*m
13

同意。

【在 t*********n 的大作中提到】
: vector> 感觉用起来最方便啊,STL毕竟不容易出bug
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。