C语言中的C++向量

Ale*_*lex 6 c c++ vector

我有一个看起来像这样的代码(C++)

vector<int> values[10000];

int i, j; 
while (.....) {
    scanf("%d%d", &i, &j);
    values[i].push_back(j);
    values[j].push_back(i);
}
Run Code Online (Sandbox Code Playgroud)

但我想将此代码重写为C.我怎么能这样做?

我研究了制作自己的堆栈的机会,但也许有更轻量级的方法来重写这个代码,也许是二维数组.到目前为止我无法想象这是如何翻拍的,我希望有更有经验的人告诉我该怎么做:)

对不起家伙,添加了一个更高级的例子......

hol*_*olt 8

您可以尝试使用C容器库,例如http://code.google.com/p/ccl/,而不是自己滚动.


Syn*_*ose 0

尽管您可以基于 C++ 中的向量创建一个结构体,但没有与 C++ 向量等效的 C 标准。该结构将

  • 如果数组边界超过最大大小,则调整自身大小
  • 执行类似于向量的操作

或者

  • 创建一个模拟 C++ 向量的链表堆栈结构

  • 一类*?在C语言中?(显然你可以用结构模拟类,这是你的意思吗?) (3认同)