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

C# में BinarySearch() मेथड: सॉर्टेड लिस्ट में इंडेक्स खोजना


List<T>.BinarySearch(T item) **सॉर्टेड** लिस्ट में बाइनरी सर्च करके तत्व का **शून्य-आधारित इंडेक्स** लौटाता है। लिस्ट **सॉर्टेड होनी चाहिए**।

उदाहरण

using System;
using System.Collections.Generic;

class Demo
{
    static void Main()
    {
        List list = new List { 70, 150, 220, 250, 300 };  // सॉर्टेड
        
        int index = list.BinarySearch(250);
        Console.WriteLine("तत्व 250 इंडेक्स पर: " + index);
    }
}

आउटपुट

तत्व 250 इंडेक्स पर: 3

लौटाए गए मान

  • ≥ 0: तत्व मिला, इंडेक्स लौटाया।
  • < 0: तत्व नहीं मिला; बिटवाइज़ कॉम्प्लीमेंट (~index) वह इंडेक्स देता है जहां इन्सर्ट करना चाहिए।
int notFound = list.BinarySearch(200);  // -4 (नहीं मिला)
int insertIndex = ~notFound;             // 3 (220 और 250 के बीच)
list.Insert(insertIndex, 200);           // सॉर्टेड क्रम बनाए रखने के लिए इन्सर्ट

कस्टम तुलनाकर्ता

list.BinarySearch(item, customComparer);

आवश्यकताएं

  • लिस्ट **पहले से सॉर्टेड** होनी चाहिए (अन्यथा परिणाम अप्रत्याशित)।
  • तत्व IComparable<T> लागू करे या कस्टम IComparer<T> दें।
  • जटिलता: O(log n) बनाम List.IndexOf का O(n)।
  1. - C# में Array.BinarySearch विधि

    BinarySearch विधि का उपयोग करके सरणी तत्वों का स्थान प्राप्त करें। एक स्ट्रिंग सरणी सेट करें: string[] str = { a, m, i, t }; अब Array.BinarySearch का उपयोग करके वर्ण t का स्थान प्राप्त करें: Array.BinarySearch(str, t); यहां पूरा कोड है: उदाहरण using System; using System.Text; public class Demo {

  1. - C# में लिस्ट को सॉर्ट करने का मेथड क्या है?

    C# में लिस्ट को सॉर्ट करने के लिए Sort() मेथड का उपयोग करें।सबसे पहले एक लिस्ट बनाएं:List<string> myList = new List<string>();अब एलिमेंट्स जोड़ें:myList.Add("Audi"); myList.Add("BMW"); myList.Add("Chevrolet"); myList.Add("Hyundai");लिस्ट को सॉर्ट क

  1. - Java में List.replaceAll(UnaryOperator<E> operator) विधि

    List इंटरफेस की replaceAll() विधि UnaryOperator का एक ऑब्जेक्ट स्वीकार करती है जो एक विशेष ऑपरेशन को दर्शाता है, वर्तमान सूची के सभी तत्वों पर निर्दिष्ट ऑपरेशन करती है और सूची में मौजूदा मानों को उनके संबंधित परिणामों से प्रतिस्थापित करती है। उदाहरण import java.util.ArrayList; import java.util.fu