单个或单个头用于链表的动态数组
Individual or single head for dynamic array of linked list
如果我要制作一个链表的动态数组,每个索引都有自己的头部还是整个数组只有一个头部?我还没有代码,因为我现在只是在处理伪代码,但我会举一个例子。
-
创建一个名为 arrayNode 的结构,其中包含下一个指针和一个 int 数据
-
声明并初始化列表数组 ->arrayNode *array[size] = new arrayNode[size]
-
制作一个头 ->arrayNode *头
现在,如果我想将一个值放入数组 [0] 中,我会检查 head 是否为 NULL,如果是,我将该值设为 head
- array[0] = new arrayNode(value)
- 头部 = 数组[0]
我不确定这是否是正确的方法,但我认为它是......无论如何,如果是,那么数组[1]呢?脑袋还是空的吗?还是我必须为每个索引声明不同的头?
如果这不是正确的方法,那么回到原点。
谢谢
正如您所评论的那样,您正在尝试构建邻接列表。所以在这种情况下:
- 使数组的大小等于图形中的顶点数
- 对于图形中的每个顶点,使用单独的头部
如果图中顶点的大小数不固定,则:
- 创建一个新类,其中包含有关顶点的信息
- 重载索引即 [] 运算符提供正确的节点。但是回到 [] 运算符重载的代码中,您必须管理逻辑。
相关文章:
- std::向量与传递值的动态数组
- 在c++中用vector填充一个简单的动态数组
- 输出没有重复元素的动态数组(收缩数组)C++
- 正在插入动态数组
- 如何在动态数组上使用搜索函数
- C++ 动态数组每次添加时将大小增加 1 - 错误
- 静态数组的自由动态数组
- 在 c++ 中对类中的 c 字符串动态数组进行排序的最佳方法是什么?
- 使用 thread 类在 C++ 中构造线程的动态数组时出错
- 如何为 c++ 的不同变量类型的结构元素创建动态数组?
- C++ 使用存储在动态数组中的文本文件中的数据查找模式
- 当我使用自定义类型创建动态数组时,即使使用字符串,它似乎也不起作用
- 为什么 c++ 动态数组的大小没有改变?
- 具有自定义构造函数 (C++) 的类型的动态数组分配
- 指针的 C++ 动态数组 - 何时需要使用它?
- 删除动态数组时未定义标识符
- 哈希映射使用 nullptr c++ 初始化节点的动态数组
- 如何将字符串和整数读取到两个单独的动态数组中的程序编写?
- 动态数组的 C++ 重载加运算符
- 基于数组的列表 - 动态数组创建时出错