- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为学校编写程序,但不知道从哪里开始。
我不太擅长指针,所以我有点困难。
到目前为止的代码(已更新):
#include<iostream>
#include<vector>
#include<string>
using namespace std;
struct node
{
string name;
node * parent;
vector<node*> children;
};
int main()
{
vector<node*> dataBase;
node *advisor, *student, *student2;
advisor = new node;
student = new node;
student2 = new node;
cin>>advisor->name>>student->name>>student2->name;
advisor->children.push_back(student);
advisor->children.push_back(student2);
dataBase.push_back(advisor);
for(int i=0; i<dataBase.size(); i++)
{
cout<<dataBase[i]->name<<endl;
for(int j=0; j<dataBase[i]->children.size(); j++)
{
cout<<dataBase[i]->children[i]->name<<endl;
}
}
system("pause");
return 0;
}
我想做的是获取两个名字的输入,然后将其存储在数据库中。
例如,第一个名字永远是顾问,第二个名字永远是学生。
我知道如何在纸上做到这一点,只是不知道如何使用代码..所以我正在寻找一些示例/提示。
例子:
输入:
约翰·史蒂文
约翰·巴里
约翰·哈罗德
输出:
顾问:约翰
学生:史蒂文、巴里、哈罗德
我希望我的程序获取 John 并将他放入 vector 数据库的第一个条目中,然后我想要获取 Steven Barry 和 Harold 并将它们全部放入 vector 子项中。
无论如何,我知道我应该像一棵树一样来做这件事,顾问是 parent ,学生是树的 child 。
欢迎任何帮助/建议。谢谢。
编辑 #1:现在我无法将更多学生添加到一位顾问。
最佳答案
您永远不会添加到 vector 中。 vector 需要先添加元素,然后才能使用 []
运算符为其添加索引。
改变
dataBase[0]=advisor;
advisor->children[0]=student;
到
advisor->children.push_back(student);
dataBase.push_back(advisor);
要打印学生,您可以在 for
循环中访问 children
变量,其方式与打印顾问姓名的方式完全相同。
for(int i=0; i<dataBase.size(); i++)
{
cout<<dataBase[i]->name<<endl;
for(int j=0; j<dataBase[i]->children.size(); j++)
{
cout<<dataBase[i]->children[j]->name<<endl;
}
}
关于c++ - 顾问/学生树 c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9352709/
我正在尝试为学校编写程序,但不知道从哪里开始。 我不太擅长指针,所以我有点困难。 到目前为止的代码(已更新): #include #include #include using namespace s
如果我的 HTML 上有一个图像 src,如下所示: http://i.ebayimg.com/00/s/NzgwWDc4MA==/z/FrMAAOSweW5U3QvN/$_12.JPG?set_id
在工作中,我必须访问/使用 Channel Advisor API http://developer.channeladvisor.com/display/cadn/Order+Service 来源:
当盯着 cAdvisor 时,我得到 Factory "docker"was unable to handle container "/system.slice/kdump.service"。我试图了
我是一名优秀的程序员,十分优秀!