نمایش نتایج 1 تا 9 از 9

نام تاپیک: پیدا کردن والد های یک فرزند

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #2
    کاربر دائمی آواتار پرستو پارسایی
    تاریخ عضویت
    آبان 1392
    محل زندگی
    تهران
    پست
    461

    نقل قول: پیدا کردن والد های یک فرزند

    برای نمایش سلسله مراتبی فرزندان هر ردیف که به متن جستجوی شما مربوط می‌شود، می‌توانید از یک ساختار داده مانند درخت استفاده کنید. در این ساختار، هر گره (Node) شامل اطلاعات ردیف (آی دی و متن) و فرزندان آن می‌باشد. مثلا :

    public class Node{
    public int Id { get; set; }
    public string Text { get; set; }
    public List<Node> Children { get; set; }


    public Node(int id, string text)
    {
    Id = id;
    Text = text;
    Children = new List<Node>();
    }
    }




    سپس، با استفاده از این کلاس، درختی از گره‌ها بسازید و سپس جستجوی موردی را انجام دهید. در هر مرحله، اگر یک گره با متن مورد جستجو پیدا شود، این گره را به همراه زیردرخت آن را نمایش دهید. بعنوان مثال :

    // ساخت درخت از گره‌ها
    Node root = new Node(1, "Root"); // گره اصلی


    Node child1 = new Node(2, "Child 1"); // فرزندان گره اصلی
    Node child2 = new Node(3, "Child 2");
    Node child3 = new Node(4, "Child 3");


    Node grandchild1 = new Node(5, "Grandchild 1"); // فرزندان گره Child 1
    Node grandchild2 = new Node(6, "Grandchild 2");


    child1.Children.Add(grandchild1);
    child1.Children.Add(grandchild2);


    root.Children.Add(child1);
    root.Children.Add(child2);
    root.Children.Add(child3);


    // جستجو و نمایش سلسله مراتبی فرزندان
    string searchText = "متن جستجوی شما";
    SearchAndDisplayHierarchy(root, searchText);


    // تابع جستجو و نمایش سلسله مراتبی فرزندان
    public void SearchAndDisplayHierarchy(Node node, string searchText)
    {
    if (node.Text.Contains(searchText))
    {
    DisplayHierarchy(node);
    }


    foreach (Node child in node.Children)
    {
    SearchAndDisplayHierarchy(child, searchText);
    }
    }


    // تابع نمایش سلسله مراتبی فرزندان
    public void DisplayHierarchy(Node node, string indent = "")
    {
    Console.WriteLine(indent + node.Text);


    foreach (Node child in node.Children)
    {
    DisplayHierarchy(child, indent + " ");
    }
    }


    در این کد، یک درخت ساخته شده و سپس با استفاده از تابع SearchAndDisplayHierarchy و تابع DisplayHierarchy، سلسله مراتبی فرزندان ردیف‌هایی که متن جستجوی شما را دارند نمایش داده می‌شه. اگر این نمونه با نوع سوالتان مطابقت داشت کد را با داده‌های واقعی و ساختار فرزندی خودتان سفارشی کنید.
    این توضیحات درک من از نوع سوال شما هست امیدوارم کمک کنه.
    آخرین ویرایش به وسیله پرستو پارسایی : جمعه 31 شهریور 1402 در 09:48 صبح

تاپیک های مشابه

  1. پاسخ: 0
    آخرین پست: سه شنبه 18 اسفند 1394, 03:20 صبح
  2. پاسخ: 0
    آخرین پست: سه شنبه 10 شهریور 1394, 12:36 عصر
  3. پاسخ: 0
    آخرین پست: شنبه 25 آذر 1391, 09:45 صبح
  4. پاسخ: 1
    آخرین پست: پنج شنبه 05 خرداد 1390, 21:45 عصر
  5. کامپوننت تغییر کد پیج سینا به کد پیجهای فارسی ویندوز ؟
    نوشته شده توسط mahdi939 در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 2
    آخرین پست: یک شنبه 08 خرداد 1384, 19:53 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •