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

C# में SortedSet क्लास

SortedSet<T> क्लास ऑब्जेक्ट्स के संग्रह को दर्शाता है जो सॉर्टेड ऑर्डर में बनाए रखा जाता है। डुप्लीकेट्स की अनुमति नहीं देता।

मुख्य गुण

गुणविवरण
Comparerसॉर्टिंग के लिए उपयोग किया जाने वाला IComparer<T> ऑब्जेक्ट
CountSortedSet में एलिमेंट्स की संख्या
Maxकॉम्पैरर के अनुसार अधिकतम वैल्यू
Minकॉम्पैरर के अनुसार न्यूनतम वैल्यू

मुख्य मेथड्स

मेथडविवरण
Add(T)एलिमेंट जोड़ता है, सफलता पर true लौटाता है
Clear()सभी एलिमेंट्स हटाता है
Contains(T)निर्दिष्ट एलिमेंट मौजूद है या नहीं जांचता है
CopyTo(T[])ऐरे में कॉपी करता है
CopyTo(T[], Int32)निर्दिष्ट इंडेक्स से ऐरे में कॉपी
CopyTo(T[], Int32, Int32)निर्दिष्ट काउंट और इंडेक्स से कॉपी
CreateSetComparer()सेट तुलना के लिए IEqualityComparer लौटाता है
ExceptWithदूसरे सेट में मौजूद एलिमेंट्स हटाता है
IntersectWithकेवल कॉमन एलिमेंट्स रखता है
UnionWithदूसरे सेट के सभी एलिमेंट्स जोड़ता है
IsSubsetOf / IsSupersetOfसबसेट/सुपरसेट संबंध जांचता है
Overlapsकम से कम एक कॉमन एलिमेंट है?
SetEqualsसमान एलिमेंट्स हैं?

उदाहरण 1: बेसिक ऑपरेशन्स

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main() {
        SortedSet<string> set1 = new SortedSet<string>();
        set1.Add("CD");
        set1.Add("CD");  // डुप्लीकेट - इग्नोर होगा
        set1.Add("CD");
        set1.Add("CD");
        
        Console.WriteLine("Elements in SortedSet1...");
        foreach (string res in set1) {
            Console.WriteLine(res);
        }
        
        Console.WriteLine("Does SortedSet1 contain 'DE'? = " + set1.Contains("DE"));
        
        SortedSet<string> set2 = new SortedSet<string>();
        set2.Add("BC");
        set2.Add("CD");
        set2.Add("DE");
        set2.Add("EF");
        set2.Add("AB");
        set2.Add("HI");
        set2.Add("JK");
        
        Console.WriteLine("Elements in SortedSet2...");
        foreach (string res in set2) {
            Console.WriteLine(res);
        }
        
        Console.WriteLine("Is SortedSet2 a superset of SortedSet1? = " + set2.IsSupersetOf(set1));
    }
}

आउटपुट

Elements in SortedSet1...
CD
Does the SortedSet1 contains the element DE? = False
Elements in SortedSet2...
AB
BC
CD
DE
EF
HI
JK
SortedSet2 is a superset of SortedSet1? = True

उदाहरण 2: एन्यूमरेटर का उपयोग

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main() {
        SortedSet<string> set1 = new SortedSet<string>();
        set1.Add("AB");
        set1.Add("BC");
        set1.Add("CD");
        set1.Add("EF");
        
        Console.WriteLine("Elements in SortedSet1...");
        foreach (string res in set1) {
            Console.WriteLine(res);
        }
        
        SortedSet<string> set2 = new SortedSet<string>();
        set2.Add("BC");
        set2.Add("CD");
        set2.Add("DE");
        set2.Add("EF");
        set2.Add("AB");
        set2.Add("HI");
        set2.Add("JK");
        
        Console.WriteLine("Elements in SortedSet2 (Enumerator)...");
        SortedSet<string>.Enumerator demoEnum = set2.GetEnumerator();
        while (demoEnum.MoveNext()) {
            string res = demoEnum.Current;
            Console.WriteLine(res);
        }
    }
}

आउटपुट

Elements in SortedSet1...
AB
BC
CD
EF
Elements in SortedSet2 (Enumerator)...
AB
BC
CD
DE
EF
HI
JK

कस्टम कॉम्पैरर के साथ SortedSet

// केस-इनसेंसिटिव स्ट्रिंग सॉर्टिंग
var set = new SortedSet<string>(StringComparer.OrdinalIgnoreCase);
set.Add("banana");
set.Add("Apple");
set.Add("Cherry");
// आउटपुट: Apple, banana, Cherry

// डिसेंडिंग ऑर्डर
var descSet = new SortedSet<int>(Comparer<int>.Create((x, y) => y.CompareTo(x)));
descSet.Add(1);
descSet.Add(3);
descSet.Add(2);
// आउटपुट: 3, 2, 1

SortedSet vs अन्य संग्रह

विशेषताSortedSet<T>HashSet<T>List<T> + SortSortedList<TKey,TValue>
सॉर्टेड ऑर्डरहाँ (ऑटो)नहींमैन्युअलहाँ (की द्वारा)
डुप्लीकेट्सनहींनहींहाँकी यूनिक
लुकअप स्पीडO(log n)O(1)O(n)O(log n)
इन्सर्शन स्पीडO(log n)O(1)O(1)O(log n)
  1. C# में Console क्लास C# में Console क्लास

    C# में Console क्लास का उपयोग कंसोल एप्लिकेशन के लिए मानक इनपुट, आउटपुट और त्रुटि स्ट्रीम को दर्शाने के लिए किया जाता है। आइए C# में Console क्लास प्रॉपर्टीज के कुछ उदाहरण देखते हैं: Console.CursorLeft प्रॉपर्टी C# में कंसोल का CursorLeft बदलने के लिए Console.CursorLeft प्रॉपर्टी का उपयोग करें। उदा

  1. - C# में सिंगलटन क्लास

    सिंगलटन क्लास डेटा के एकल आवंटन और इंस्टेंस की अनुमति देती है। इसमें सामान्य विधियाँ होती हैं और आप इसे इंस्टेंस का उपयोग करके कॉल कर सकते हैं। क्लास के एकाधिक इंस्टेंस को रोकने के लिए, निजी कंस्ट्रक्टर का उपयोग किया जाता है। आइए एक उदाहरण देखें: public class Singleton { static Singleton b = nu

  1. - C# में SortedList क्लास क्या है?

    एक सॉर्टेड लिस्ट एक ऐरे और हैश टेबल का संयोजन है। इसमें आइटम्स की एक सूची होती है जिसे की या इंडेक्स का उपयोग करके एक्सेस किया जा सकता है। यदि आप इंडेक्स का उपयोग करके आइटम्स एक्सेस करते हैं, तो यह एक ArrayList है, और यदि आप की का उपयोग करके आइटम्स एक्सेस करते हैं, तो यह एक Hashtable है। आइटम्स का स