c++语言如何实现不同行有不同的列数

比如第一行有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啊