图形实现c++与无大小的向量
Graph implementation C++ with unsized vectors
我想画一个向量图。问题是,我不知道向量的大小,它是作为输入给我的。我正在考虑制作这样一个节点:
typedef struct node{
my_vector v[];
node * next;
}
我可以创建一个节点与向量在行my_vector v[];
?我对c++还是个新手
另外,我真的不知道如何实现一个图,但它与实现一个列表有什么不同吗?
你可以这样做:
template<typename T>
struct node{
std::vector<T> v;
node * next;
}
现在您可以创建包含任何类型数据的node
,如下所示:
node<int> myintnode;
node<double> mydoublenode;
我可以创建一个节点与向量在行my_vector v[];
如果需要在运行时决定vector的大小,则不能使用这种声明。您必须自己分配内存,或者使用std::vector
更好。
另外,我真的不知道如何实现一个图,但它与实现一个列表有什么不同吗?
一个列表是一个非常简单的图,所以有一些理论的相似之处。在实践中,实现是不同的,这取决于你将如何处理这个图。有很多实现图形的方法,也有很多关于这个主题的书籍和图书馆。我建议查看一下简单图实现的数据结构介绍。例如,邻接列表和邻接矩阵是一些最常见的图表示。Boost中也有图形库,但它可能是多余的。
相关文章:
- 为共享 ptr 向量实现复制 c'tor?
- C++:实现向量和矩阵类的最佳结构
- priority_queue使用降序向量实现最小堆的语法差异
- 布尔向量实现
- C++ 使用向量实现合并排序
- 如何为向量实现 std::erase ?
- 如何使用指针向量实现类析构函数 C++.
- 为对象向量实现快速排序算法
- 为什么这个普通的数组实现比STD ::向量实现性能慢
- C++向量实现push_front错误
- 使用向量 c++ 实现 trie 时的分割错误
- C++ 向量实现 - 移动构造函数 - 移动与前进
- 不使用外部库的稀疏向量实现建议
- 大多数数据结构都可以使用向量实现吗?
- 为简单向量实现复制构造函数
- 如何在c++中使用向量实现一个简单的树,没有二进制或avl树
- 堆排序从介绍到算法在c++中使用向量实现
- 使用指针向量实现 Dijkstra 算法
- 如何使用向量实现bubblesort
- 希望使用向量实现更好的c++堆栈