0

だから、私はベクトルのグラフを作ろうとしています。問題は、ベクトルのサイズがわからないということです。それは入力として自分に与えられます。私はそのようにノードを作ることを考えていました:

typedef struct node{
   my_vector v[];
   node * next;
}

行のようにベクトルでノードを作成できますmy_vector v[];か?私はC++に本当に慣れていません

また、グラフの実装方法はよくわかりませんが、リストの実装とは違いますか?

4

2 に答える 2

0

あなたはこれを行うことができます:

template<typename T>
struct node{
   std::vector<T> v;
   node * next;
}

nodeこれで、次のように、任意のタイプのデータを含むを作成できます。

node<int> myintnode;
node<double> mydoublenode;
于 2013-03-13T13:31:19.180 に答える
0

my_vector v []のように、ベクトルを使用してノードを作成できますか。

実行時にベクトルサイズを決定する必要がある場合、この種の宣言は使用できません。自分でメモリを割り当てる必要があります。さらに良いのは、を使用することstd::vectorです。

また、グラフの実装方法はよくわかりませんが、リストの実装とは違いますか?

リストは非常に単純なグラフであるため、理論上の類似点がいくつかあります。実際には、実装は異なり、グラフで何をするかによって異なります。グラフを実装する方法はたくさんあり、主題を扱っている本や図書館もたくさんあります。単純なグラフ実装のためのデータ構造の紹介を検討することを提案します。たとえば、隣接リスト隣接行列は、最も一般的なグラフ表現の一部です。Boostにはグラフライブラリもありますが、それはおそらくやり過ぎでしょう。

于 2013-03-13T13:45:40.170 に答える