比如第一行有4列,第二行只有1列。老师说这样做可以节省内存。如何做。求大神教教。
给你个例子,可以用指针数组来实现:
#include <iostream>
using namespace std;
int main () {
// 定义一个指针数组
int *map[2];
// 第一行4列
map[0] = new int[4];
// 第二行2列
map[1] = new int[2];
// 分别赋值
for (int i=0; i<4; i++) {
map[0][i]= i + 10;
}
for (int i=0; i<2; i++) {
map[1][i] = i;
}
// 打印出来看看
for (int i=0; i<4; i++) {
cout<<map[0][i]<<" ";
}
cout<<endl;
for (int i=0; i<2; i++) {
cout<<map[1][i]<<" ";
}
cout<<endl;
return 0;
}
可以参考buket的结构:
C语言可以用数组嵌套链表
C++感觉可以用vector嵌套vector啊