2017-12-09 8 views
-5

リンクリストには公開ノードがあります。 クラスNodeで しかし、私はそれが何を意味するのか理解できませんでしたか? 私はそれが次の につながることを理解したが、クラスのパラメータなしで次のノードまたは{} が再帰と呼ばれているあなたは、クラスNodeで見る何C#クラスのクラス - 例のリンクリスト

+0

多分あなたの問題を説明するためにいくつかのコードを追加して、質問を入力してください:ここでは

は、グラフィカルな表現です。 https://stackoverflow.com/help/mcve – Guglie

+0

公開ノード次へ; クラス名はノード ですので、次の単語を持つクラスノード – Heart

+0

パブリッククラスノード { パブリックオブジェクトデータ; 公開ノードnext; 公開Node(オブジェクト値) { data = value; next = null; } } – Heart

答えて

0

ありがとうどのように理解していませんでした。 時には、再帰はプログラミングに非常に役立ちます。たとえば、インターネット掲示板をプログラミングしていると仮定し、Messageというクラスがあります。将来、メッセージの返信を確認するために、Repliesというプロパティを作成します。このプロパティはList<Message>です。 完全なコード例:

public class Message 
{ 
    public string Content { get; set; } // Text of the message 
    public List<Message> Replies { get; set; } = new List<Message>(); // Its replies 
    public Message(string text) 
    { 
     Content = text; 
    } 
    public void AddReply(Message m) 
    { 
     Replies.Add(m); 
    } 
} 

だから今、のは、Messageクラスのインスタンスを作成し、そこにいくつかの回答を追加してみましょう。私たちは何をしたかの

class Program 
{ 
    public static void Main(string[] args) 
    { 
      Message reply1 = new Message("Bar!"); 
      Message reply2 = new Message("Hello!"); 
      reply2.AddReply(new Message("Hello there!"); 
      Message msg = new Message("Foo!"); 
      msg.AddReply(reply1); 
      msg.AddReply(reply2); 
    } 
} 

説明:

は、我々はテキストでメッセージを作成し、「フー!」いくつかの返信を追加しました。そのうちの1つは自分自身への返信を持っています。 C# Recursion example