由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 二维数组问题
相关主题
问一道google面试题(from careercup)问几道算法题
关于DP问题请教。弱问:两个数组的并集和交集
Leetcode 4SUM 总是超时Amazon On-site ,kindle组有什么要特别注意的地方么?+前两轮电面面经
菜鸟问个问题,如果太简单了请原谅我的愚蠢问道题的解题思路
大家新年好。 请教一个 c interview question (转载)被问非常简单的问题是不是被黑了
问一道面试题My Microsoft Phone Interview
刚看到的一道google面试题问道编程题
BB intern onsite灰溜溜地回来了(附面经攒rp)在线等两个问题
相关话题的讨论汇总
话题: int话题: 数组话题: new话题: 二维话题: vector
进入JobHunting版参与讨论
1 (共1页)
Y********f
发帖数: 410
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);
但是用起来都很别扭,大家有什么好的方法?
p*****2
发帖数: 21240
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);
: 但是用起来都很别扭,大家有什么好的方法?

Y********f
发帖数: 410
3
new int[i][j]如果i不是const的时候会出错吧。

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

p*****2
发帖数: 21240
4

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

【在 Y********f 的大作中提到】
: new int[i][j]如果i不是const的时候会出错吧。
b***i
发帖数: 3043
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; i array_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);
: 但是用起来都很别扭,大家有什么好的方法?

l*********8
发帖数: 4642
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应该没问题吧。

p*****2
发帖数: 21240
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不支持。

l*********8
发帖数: 4642
8
java的确避免了很多C++恶心的地方。

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

M**A
发帖数: 78
9
C/C++ 可以用指针来创建二维数组
f*******4
发帖数: 64
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);
: 但是用起来都很别扭,大家有什么好的方法?

Y********f
发帖数: 410
11
我说的第二个就是这种方法

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

同意。

【在 t*********n 的大作中提到】
: vector> 感觉用起来最方便啊,STL毕竟不容易出bug
1 (共1页)
进入JobHunting版参与讨论
相关主题
在线等两个问题大家新年好。 请教一个 c interview question (转载)
怎么才能掌握好C++里面的指针和引用?问一道面试题
(C / C++) 关于指针的引用,求助刚看到的一道google面试题
Bloomberg的在线C测试是不是比C++容易些?BB intern onsite灰溜溜地回来了(附面经攒rp)
问一道google面试题(from careercup)问几道算法题
关于DP问题请教。弱问:两个数组的并集和交集
Leetcode 4SUM 总是超时Amazon On-site ,kindle组有什么要特别注意的地方么?+前两轮电面面经
菜鸟问个问题,如果太简单了请原谅我的愚蠢问道题的解题思路
相关话题的讨论汇总
话题: int话题: 数组话题: new话题: 二维话题: vector