我正在尝试为接受字符串作为图类的构造函数 参数并使用它来构建图形。
字符串格式如下:|vertex list|Edges list|
例如|1,2,3,4,15|(1->2),(3->2),(4->15)|
这个想法是构造函数将从字符串中获取值,然后 知道执行以下操作(将顶点插入顶点列表 然后将边插入到边列表中):
addVertex(1)
addVertex(2)
addVertex(3)
addVertex(4)
addVertex(15)
addEdge(1,2)
addEdge(3,2)
addEdge(4,15)
我会做几个“for”循环来扫描字符串,但我不知道 如何处理双(或更多)数字。我开始想象各种 非常复杂的 for 循环,我想知道这里是否有人可以分享 与我一起提取和使用这些数据的任何更智能的方法。
最佳答案
看着整件事,您似乎不知所措。把它分解成碎片……任务。您尝试做的似乎是这里的独立功能。
- 代币化
- 解析顶点
- 解析边
- 在顶点上执行
- 边缘执行
大约有 5 个函数。
您想要基于竖线 (|) 进行分词,因此采用基于竖线的子字符串并将每一侧传递给适当的解析器,解析逗号等。
我不会为您做这件事,但希望我能让您朝着正确的方向思考。学习编程与其说是某种特定的语言,不如说是改变你的思维方式。
关于c++ - 在 C++ 中解析字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/831111/