#include<iostream>
using namespace std;
class TCSGraph{
public:
void addVertex(int vertex);
void display();
TCSGraph(){
head = NULL;
}
~TCSGraph();
private:
struct ListNode
{
string name;
struct ListNode *next;
};
ListNode *head;
}
void TCSGraph::addVertex(int vertex){
ListNode *newNode;
ListNode *nodePtr;
string vName;
for(int i = 0; i < vertex ; i++){
cout << "what is the name of the vertex"<< endl;
cin >> vName;
newNode = new ListNode;
newNode->name = vName;
if (!head)
head = newNode;
else
nodePtr = head;
while(nodePtr->next)
nodePtr = nodePtr->next;
nodePtr->next = newNode;
}
}
void TCSGraph::display(){
ListNode *nodePtr;
nodePtr = head;
while(nodePtr){
cout << nodePtr->name<< endl;
nodePtr = nodePtr->next;
}
}
int main(){
int vertex;
cout << " how many vertex u wan to add" << endl;
cin >> vertex;
TCSGraph g;
g.addVertex(vertex);
g.display();
return 0;
}
2
A
回答
2
有一个问题,您addvertex
方法:
您有:
if (!head)
head = newNode;
else
nodePtr = head;
while(nodePtr->next)
nodePtr = nodePtr->next;
nodePtr->next = newNode;
,但它应该是:
if (!head) // check if the list is empty.
head = newNode;// if yes..make the new node the first node.
else { // list exits.
nodePtr = head;
while(nodePtr->next) // keep moving till the end of the list.
nodePtr = nodePtr->next;
nodePtr->next = newNode; // add new node to the end.
}
而且你是不是使newNode
NULL
的next
字段为:
newNode = new ListNode;
newNode->name = vName;
newNode->next= NULL; // add this.
另外它是一个很好的实践来释放动态分配的内存。因此,而不是有一个空的析构函数
~TCSGraph();
你可以释放列表中的dtor。
编辑:更多的错误
你有一个丢失;类声明后:
class TCSGraph{
......
}; // <--- add this ;
此外您的析构函数仅声明。没有def。如果你不想给任何def,你至少必须有一个空的身体。因此,与
~TCSGraph(){}
0
相关问题
- 1. 创建邻接表
- 2. 如何从邻接表创建图形图像?
- 3. 如何在绘制图形后创建邻接列表?
- 4. 从邻接表中创建无向图
- 5. 创建一个邻接表
- 6. 使用Silverlight创建图表/图形
- 7. 我想创建一个图形使用矩阵邻接输入,任何想法?
- 8. 从JUNG图创建邻接矩阵
- 9. 使用邻接列表和邻接矩阵的图的大小?
- 10. NetLogo:如何导入2列相邻列表来创建图形?
- 11. 从python中的矩阵创建邻接列表图表
- 12. 使用igraph创建邻接网络矩阵(或列表)igraph
- 13. 使用Raphaël创建图形
- 14. 用HashMap [Int,Vector [Int]](Scala)表示图形(邻接列表)?
- 15. 试图使用链接列表和向量使邻接列表
- 16. 我使用邻接表
- 17. 多图和邻接表
- 18. 如何从邻接矩阵建立邻接表?
- 19. 为电子图表创建图形
- 20. Netlogo:创建到新邻居的链接
- 21. 旋转使用Sigma创建的图形
- 22. 使用for循环创建图形Linux
- 23. 使用PostGIS为pgRouting创建图形?
- 24. 使用c#在visio中创建图形
- 25. 使用jquery创建动态图形
- 26. 使用CSS创建负面条形图
- 27. 遍历在邻接矩阵中表示的图形
- 28. 如何将它存储在python图形的邻接列表中?
- 29. 如何有效地获得球形Voronoi图的邻接表?
- 30. 如何显示图形邻接列表的元素?
哦,我的错误>< 但我仍面临 这里同样的错误是这些错误消息: >错误:新的类型可能无法在返回类型中'addVertex”的声明来定义>两个或多个数据类型| >“TCSGraph TCSGraph :: addVertex(int)'的原型与'TCSGraph'类中的任何一个都不匹配。 > error:candidate is:void TCSGraph :: addVertex(int)| > error:'TCSGraph TCSGraph :: addVertex(int)'和'void TCSGraph :: addVertex(int)'不能被重载 – sum1needhelp 2010-04-20 06:07:33