C++ 如何在结构中插入和打印列表
我使用STL List实现了双链接列表,当我访问并推回结构中的值列表时遇到问题。这是我的结构:C++ 如何在结构中插入和打印列表,c++,struct,doubly-linked-list,C++,Struct,Doubly Linked List,我使用STL List实现了双链接列表,当我访问并推回结构中的值列表时遇到问题。这是我的结构: typedef struct tanaman{ string nama; list<double> tinggi; } plant; 和示例输入: 2f123556.232.414.243.710.5b651289.987.2 尝试: 您的while应该如下所示: while(n--){ cin >> nama >> m; data.nam
typedef struct tanaman{
string nama;
list<double> tinggi;
} plant;
和示例输入:
2f123556.232.414.243.710.5
b651289.987.2 尝试:
您的while应该如下所示:
while(n--){
cin >> nama >> m;
data.nama = nama;
while(m--){
cin >> t;
data.tinggi.push_back(t); // Change 1
}
jagung.push_back(data);
data.tinggi.clear(); // Change 2
}
您必须将对象推入数据
,并确保在下一次迭代之前清除tinggi
,以避免数据重复
最好将
t
的类型从float
更改为double
我有一个更基本的问题:您认为Oryza::isEmpty()
的返回值是多少?(提示)函数Oryza::isEmpty()返回值为int,我修复,int Oryza::isEmpty(){return dt.Empty();}
。谢谢你的问题。好的,非常感谢,也许我会将数据类型t
更改为double
,因为struct中的tinggi
是数据类型double
。请提供此答案有用的更多详细信息。
int main(){
Oryza jagung;
int n,m;
float t;
string nama;
plant data;
cin >> n;
while(n--){
cin >> nama >> m;
data.nama=nama;
while(m--){
cin >> t;
???????
}
jagung.push_back(data);
}
jagung.print();
return 0;
}
data.tinggi.push_back(t);
while(n--){
cin >> nama >> m;
data.nama = nama;
while(m--){
cin >> t;
data.tinggi.push_back(t); // Change 1
}
jagung.push_back(data);
data.tinggi.clear(); // Change 2
}