私は 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;
}
別のファイルからデータをスキャンする必要があるため、リストのサイズが実際にはわかりません。問題は、リストのサイズを初期化する必要があるかどうか、またはイテレータを使用して何かを追加できるかどうかです。もう 1 つの問題は、このリストの要素内のデータにどのようにアクセスするかです。イテレータを使用するだけで、次のようになりますか?
*iter->EdgeList.begin();
STL リストのすべてのコマンドと関数、およびその使用方法を備えた Web サイトを誰かが持っている場合、それは素晴らしいことです。現在、これらのリストがどのように機能するかを確認するためだけに 10 の Web サイトを開いているからです。