作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个任务是“在广播电台上模拟音乐机器”。我必须使用列表。所以我决定使用二维列表,这样可以更快地找到所需的轨道。结构是这样的:请原谅我的绘画技巧。结构声明是这样的。
struct TrackNode
{
int PlayLimit;
std::string TrackName;
TrackNode *NextTrack;
};
struct ArtistNode
{
std::string ArtistName;
ArtistNode *NextArtist;
TrackNode *NextTrack;
};
我不明白的是如何遍历这样的列表。当轨道名称存储在艺术家节点中时,如何显示艺术家姓名和轨道名称?如何知道我什么时候到达下一位艺术家?我不需要代码,只需要基本原理。请不要告诉我使用其他东西,因为我必须使用多维列表。
最佳答案
大致是这样的:
ArtistNode* first_artist;
for( ArtistNode* artist = first_artist; artist != 0; artist = artist->NextArtist ){
for( TrackNode* track = artist->NextTrack; track != 0; track = track->NextTrack ){
cout << artist->ArtistName << ' ' << track->TrackName << endl;
}
}
您有两个维度,因此您需要一个循环来遍历您的艺术家列表,并且对于每个艺术家,一个嵌套循环来遍历该艺术家的轨道。
关于c++ - 如何遍历一个二维列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23848903/
我是一名优秀的程序员,十分优秀!