Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में LinkedList में निर्दिष्ट वैल्यू वाला अंतिम नोड कैसे खोजें

LinkedList<T>.FindLast() मेथड का उपयोग करके निर्दिष्ट वैल्यू वाला अंतिम नोड खोजें।

सिंटैक्स

public LinkedListNode<T> FindLast(T value);

उदाहरण 1: इंटीजर LinkedList

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main() {
        LinkedList<int> list = new LinkedList<int>();
        list.AddLast(100);
        list.AddLast(200);
        list.AddLast(300);
        list.AddLast(400);
        list.AddLast(500);
        list.AddLast(300);  // डुप्लीकेट
        list.AddLast(500);  // डुप्लीकेट
        
        Console.WriteLine("LinkedList elements...");
        foreach (int i in list) {
            Console.WriteLine(i);
        }
        
        LinkedListNode<int> val = list.FindLast(300);
        Console.WriteLine("Specified value = " + val.Value);
    }
}

आउटपुट

LinkedList elements...
100
200
300
400
500
300
500
Specified value = 300

उदाहरण 2: स्ट्रिंग LinkedList

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main() {
        LinkedList<String> list = new LinkedList<String>();
        list.AddLast("One");
        list.AddLast("Two");
        list.AddLast("Three");
        list.AddLast("Four");
        list.AddLast("Five");
        
        Console.WriteLine("Elements in LinkedList...");
        foreach (string res in list) {
            Console.WriteLine(res);
        }
        
        LinkedListNode<string> val = list.FindLast("Five");
        Console.WriteLine("Specified value = " + val.Value);
    }
}

आउटपुट

Elements in LinkedList...
One
Two
Three
Four
Five
Specified value = Five

महत्वपूर्ण बिंदु

  • FindLast अंत से खोज शुरू करता है (O(n) लेकिन अंत के निकट तेज़)
  • Find शुरुआत से खोजता है (पहला मिलान)
  • यदि वैल्यू नहीं मिली तो null लौटाता है
  • रिटर्न टाइप LinkedListNode<T> है, न कि T
  • LinkedListNode में Value, Next, Previous, List गुण होते हैं

नल चेकिंग के साथ सुरक्षित उपयोग

var node = list.FindLast("NonExistent");
if (node != null) {
    Console.WriteLine("Found: " + node.Value);
} else {
    Console.WriteLine("Not found");
}

संबंधित मेथड्स

मेथडविवरण
Find(value)पहला मिलने वाला नोड (हेड से)
FindLast(value)अंतिम मिलने वाला नोड (टेल से)
AddFirst(value)शुरुआत में नोड जोड़ें
AddLast(value)अंत में नोड जोड़ें
Remove(node)निर्दिष्ट नोड हटाएं
Remove(value)पहला मिलने वाला वैल्यू हटाएं

LinkedList vs List<T>

  • LinkedList: O(1) इन्सर्शन/डिलीशन (नोड ज्ञात होने पर), कोई रैंडम एक्सेस नहीं
  • List<T>: O(1) इंडेक्स एक्सेस, O(n) इन्सर्शन/डिलीशन (मध्य में)
  • LinkedList जब: बार-बार इन्सर्शन/डिलीशन, इटरेशन-ओनली एक्सेस
  1. - C# प्रोग्राम: लिंक्ड लिस्ट में पहले स्थान पर नोड जोड़ना

    सबसे पहले, नोड्स के साथ एक LinkedList सेट करें।string [] students = {"Tim","Jack","Henry","David","Tom"}; LinkedList<string> list = new LinkedList<string>(students);पहले स्थान पर नोड जोड़ने के लिए, AddFirst() मेथड का उपयोग करें।list.AddFi

  1. - C# में लिंक्ड लिस्ट में नोड खोजना

    C# में System.Collections.Generic.LinkedList<T> क्लास डबल लिंक्ड लिस्ट प्रदान करती है। Find() मेथड का उपयोग करके किसी मान वाला पहला नोड खोजा जा सकता है। उदाहरण: नोड खोजें और उसके बाद नया नोड जोड़ें using System; using System.Collections.Generic; class Program { static void Main() {

  1. - पायथन में लिंक्ड लिस्ट के Kवें अंतिम नोड को खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक सिंगली लिंक्ड लिस्ट है, हमें kवें अंतिम नोड (0-इंडेक्स्ड) का मान ढूंढना है। हमें इसे सिंगल पास में हल करना है। उदाहरण के लिए, यदि इनपुट node = [5,4,6,3,4,7], k = 2 है, तो आउटपुट 3 होगा, क्योंकि दूसरा अंतिम (इंडेक्स 3) नोड का मान 3 है। इसे हल करने के लिए हम निम्न चरणों का पालन