我是使用 c++ 的新手,我真的不知道如何使用 STL 列表。我正在制作城市街道交叉口的图表。这是我的结构/头文件:
全局标头
#ifndef GLOBAL_H
#define GLOBAL_H
typedef struct Vertex_ vertex;
typedef struct Edge_ ege;
#endif
顶点标头
#ifndef VERTEX_H
#define VERTEX_H
#include<list>
#include "global.h"
#include "edgelist.h"
struct Vertex_{
int xsect;
int danger;
char xstreet[25];
list<Edge_> EdgeList;
struct Vertex_ *next;
struct Vertex_ *prev;
};
#endif
边缘标头
#ifndef EDGE_H
#define EDGE_H
#include "global.h"
#include "vertex.h"
struct Edge_{
Vertex_ *adjvertex;
int distance;
struct Edge_ *next;
struct Edge_ *prev;
};
#endif
我的导师没有给我们任何关于 c++ 的注释,所以真的不知道如何开始图表。以下是我想开始我的主要工作的方式:
#include<iostream>
#include<list>
#include "vertex.h"
#include "edge.h"
#include "global.h"
int main(){
list<Vertex_> xsection;
list<Edge_> EdgeList;
}
我必须从另一个文件中扫描数据,所以我真的不知道列表的大小。问题是我是否需要初始化列表的大小,或者我是否可以使用迭代器添加内容。另一个问题是如何访问此列表元素中的数据。我会只使用迭代器并拥有:
*iter->EdgeList.begin();
如果有人拥有一个包含 STL 列表的所有命令和功能以及如何使用它的网站,那将是非常棒的,因为我目前打开了 10 个网站,只是为了看看这些列表是如何工作的。