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

C# में List के एलिमेंट्स का ऑर्डर रिवर्स करें

List<T>.Reverse() मेथड का उपयोग करके पूरे लिस्ट या निर्दिष्ट रेंज के एलिमेंट्स का ऑर्डर रिवर्स करें।

सिंटैक्स

public void Reverse();
public void Reverse(int index, int count);

उदाहरण 1: आंशिक रिवर्स (index, count)

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main(String[] args) {
        List<String> list = new List<String>();
        list.Add("One");
        list.Add("Two");
        list.Add("Three");
        list.Add("Four");
        list.Add("Five");
        list.Add("Six");
        list.Add("Seven");
        list.Add("Eight");
        
        Console.WriteLine("Enumerator iterates through the list elements...");
        List<string>.Enumerator demoEnum = list.GetEnumerator();
        while (demoEnum.MoveNext()) {
            string res = demoEnum.Current;
            Console.WriteLine(res);
        }
        
        // इंडेक्स 2 से 4 एलिमेंट्स रिवर्स करें (Three, Four, Five, Six → Six, Five, Four, Three)
        list.Reverse(2, 4);
        
        Console.WriteLine("Elements in ArrayList2...Reversed 4 elements beginning from index 2");
        foreach (string res in list) {
            Console.WriteLine(res);
        }
    }
}

आउटपुट

Enumerator iterates through the list elements...
One
Two
Three
Four
Five
Six
Seven
Eight
Elements in ArrayList2...Reversed 4 elements beginning from index 2
One
Two
Six
Five
Four
Three
Seven
Eight

उदाहरण 2: पूर्ण लिस्ट रिवर्स

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main(String[] args) {
        List<int> list = new List<int>();
        list.Add(5);
        list.Add(10);
        list.Add(20);
        list.Add(50);
        list.Add(100);
        
        Console.WriteLine("Enumerator iterates through the list elements...");
        List<int>.Enumerator demoEnum = list.GetEnumerator();
        while (demoEnum.MoveNext()) {
            int res = demoEnum.Current;
            Console.WriteLine(res);
        }
        
        // पूरा लिस्ट रिवर्स करें
        list.Reverse();
        
        Console.WriteLine("Elements in List...Reversed");
        foreach (int i in list) {
            Console.WriteLine(i);
        }
    }
}

आउटपुट

Enumerator iterates through the list elements...
5
10
20
50
100
Elements in List...Reversed
100
50
20
10
5

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

  • इन-प्लेस: मूल लिस्ट को संशोधित करता है, नई लिस्ट नहीं बनाता
  • O(n) कॉम्प्लेक्सिटी: n/2 स्वैप्स
  • आंशिक रिवर्स: Reverse(index, count) - index से शुरू करके count एलिमेंट्स
  • इंडेक्स वैलिडेशन: index ≥ 0, count ≥ 0, index + count ≤ Count
  • खाली लिस्ट या सिंगल एलिमेंट पर कोई प्रभाव नहीं

LINQ विकल्प (नई सीक्वेंस बनाता है)

// मूल लिस्ट अपरिवर्तित रहती है
var reversed = list.AsEnumerable().Reverse().ToList();
// या
var reversed = list.Reverse().ToList();  // List के लिए एक्सटेंशन मेथड

// रिवर्स इटरेशन (बिना संशोधन)
foreach (var item in list.AsEnumerable().Reverse()) {
    Console.WriteLine(item);
}

उल्टा इटरेशन (इंडेक्स के साथ)

for (int i = list.Count - 1; i >= 0; i--) {
    Console.WriteLine(list[i]);
}

उपयोग के मामले

  • स्टैक-जैसा व्यवहार (LIFO प्रोसेसिंग)
  • हाल के आइटम्स पहले दिखाना
  • एल्गोरिदम जिनमें रिवर्स ऑर्डर प्रोसेसिंग आवश्यक हो
  • पैलिंड्रोम चेकिंग
  1. - C# में सूची के अंतिम तीन तत्वों को रिवर्स क्रम में प्रदर्शित करना

    C# में किसी सूची (List) के अंतिम तत्वों को रिवर्स क्रम में प्राप्त करने के लिए Reverse() और Take() मेथड्स को चेन (chain) करके उपयोग किया जा सकता है। उदाहरण using System; using System.Collections.Generic; using System.Linq; public class Demo { public static void Main() { // स्ट्रिं

  1. - C# में List.GetRange() से तत्वों की रेंज प्राप्त करना

    C# में List<T>.GetRange() मेथड का उपयोग करके सूची के एक सन्निकट (contiguous) भाग को एक नई सूची के रूप में प्राप्त किया जा सकता है। यह ArraySegment या LINQ के Skip()/Take() के समान है लेकिन सूची-विशिष्ट है। उदाहरण using System; using System.Collections.Generic; public class Demo { public

  1. - पायथन प्रोग्राम: सरणी के तत्वों को रिवर्स क्रम में प्रिंट करना

    जब किसी सरणी के तत्वों को रिवर्स क्रम में प्रिंट करने की आवश्यकता होती है, तो सूची को अंत से पुनरावृत्त (iterate) किया जा सकता है। उदाहरण my_list = [21, 32, 43, 54, 75] print(सूची है: ) for i in range(0, len(my_list)): print(my_list[i]) print(रिवर्सल के बाद सूची: ) for i in range(len(my_list)