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

C# में Array.BinarySearch() मेथड - सॉर्टेड ऐरे में खोज करें

परिचय

C# में Array.BinarySearch() मेथड एक सॉर्टेड एक-आयामी ऐरे में बाइनरी सर्च एल्गोरिदम का उपयोग करके किसी तत्व को कुशलतापूर्वक खोजता है। ऐरे का सॉर्टेड होना आवश्यक है।

सिंटैक्स

public static int BinarySearch(Array array, object value);

यहाँ array सॉर्टेड 1-D ऐरे है, और value खोजा जाने वाला ऑब्जेक्ट है।

उदाहरण 1: इंटीजर ऐरे में खोज

using System;

public class Demo {
    public static void Main() {
        int[] intArr = { 5, 10, 15, 20 };

        Array.Sort(intArr); // बाइनरी सर्च के लिए सॉर्ट करना आवश्यक

        Console.WriteLine("ऐरे तत्व...");
        foreach (int i in intArr) {
            Console.WriteLine(i);
        }

        Console.Write("तत्व 20 का सूचकांक = " + Array.BinarySearch(intArr, 20));
    }
}

आउटपुट

ऐरे तत्व...
5
10
15
20
तत्व 20 का सूचकांक = 3

उदाहरण 2: स्ट्रिंग ऐरे में खोज

using System;

public class Demo {
    public static void Main() {
        string[] strArr = { "John", "Tim", "Fedric", "Gary", "Harry", "Damien" };

        Array.Sort(strArr);

        Console.WriteLine("ऐरे तत्व...");
        foreach (string s in strArr) {
            Console.WriteLine(s);
        }

        Console.Write("तत्व Gary का सूचकांक = " + Array.BinarySearch(strArr, "Gary"));
        Console.Write("\nतत्व Tom का सूचकांक = " + Array.BinarySearch(strArr, "Tom"));
    }
}

आउटपुट

ऐरे तत्व...
Damien
Fedric
Gary
Harry
John
Tim
तत्व Gary का सूचकांक = 2
तत्व Tom का सूचकांक = -7

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

  • ऐरे सॉर्टेड होना चाहिए अन्यथा परिणाम अप्रत्याशित होगा।
  • यदि तत्व मिल जाता है, तो उसका जीरो-बेस्ड सूचकांक वापस करता है।
  • यदि नहीं मिलता, तो एक नकारात्मक संख्या वापस करता है (बिटवाइज कॉम्प्लीमेंट ~index अगले बड़े तत्व का)।
  • कस्टम तुलना के लिए IComparer ओवरलोड का उपयोग करें।
  • समय जटिलता: O(log n) - बड़े ऐरे के लिए रैखिक खोज से बहुत तेज।
  1. - C# में MathF.Asinh() मेथड उदाहरण सहित

    C# में MathF.Asinh() मेथड का उपयोग फ्लोटिंग-पॉइंट मान का हाइपरबोलिक आर्क-साइन वापस करने के लिए किया जाता है। सिंटैक्स निम्नलिखित सिंटैक्स है: public static float Asinh (float val); उदाहरण आइए अब MathF.Asinh() मेथड को लागू करने का एक उदाहरण देखते हैं: using System; public class Demo { public s

  1. - C# में MathF.Acosh() मेथड उदाहरण सहित

    C# में MathF.Acosh() मेथड का उपयोग फ्लोटिंग-पॉइंट मान का हाइपरबोलिक आर्क-कोसाइन वापस करने के लिए किया जाता है। सिंटैक्स निम्नलिखित सिंटैक्स है: public static float Acosh (float val); ऊपर, Val फ्लोटिंग-पॉइंट नंबर है। उदाहरण आइए अब MathF.Acosh() मेथड को लागू करने का एक उदाहरण देखते हैं: using System;

  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 {