1

私の先生は、リンクされたリストの課題のためにいくつかのスケルトン コードをセットアップしました。

ヘッダーでは、次の 2 つのクラスが定義されています string_nodestring

文字列定義には、プライベート変数がありますmutable string_node* cursor;

実際の実装では、作成して変更したいノードへの参照としてカーソルを使用しようとしています。いいえ:

for (cursor_index = 0; cursor_index < many_nodes; cursor_index++){
        cursor = new string_node(str[cursor_index]);

これが適切かどうかわからないので、まず、これが間違っている場合、どうすればよいか教えてもらえますか?

ノードのデータにアクセスできず、ポインターであるためカーソルを介して他のノードにリンクできないため、間違っていると思います(私はそうではありませんが、cursor.dataを実行したり、getメソッドとsetメソッドをセットアップしたりしたいだけです)誰かが私にそれを説明したいのなら、なぜ私がそうする必要があるのか​​ わかります)。

したがって、主な問題は、実装でノードのデータ/リンクを設定できることです。

4

2 に答える 2

1

ポインターから何かを取得するには、2 つの方法があります。

最初はそれを逆参照することです:

string_node &mynode = *cursor;
mynode.whatever;

2 つ目 (はるかに優れた方法) は、逆参照演算子を使用することです (これは同じことを行いますが、より洗練されています)。

cursor->whatever;

あなたの方法に移ります:関連する質問に対する私の答えがあなたを助けるかもしれません.動的配列内の配列を何かに向けるには?

ウィキペディアの疑似コードからも助けが得られるかもしれません: http://en.wikipedia.org/wiki/Linked_list#Linked_list_operations

于 2013-03-05T20:32:13.243 に答える
0

最初の質問に答えるには、「->」演算子が必要です。これは「.」に相当します。オブジェクトへのポインターの演算子。

于 2013-03-05T20:31:58.427 に答える