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

C# में Stack.Clone() मेथड - स्टैक की शैलो कॉपी बनाएं

परिचय

C# में Stack.Clone() मेथड Stack की एक शैलो कॉपी (shallow copy) बनाता है। कॉपी किया गया स्टैक मूल के समान तत्वों को संदर्भित करता है लेकिन एक अलग संग्रह इंस्टेंस होता है।

सिंटैक्स

public virtual object Clone();

उदाहरण 1: इंटीजर स्टैक क्लोन करना

using System;
using System.Collections;

public class Demo {
    public static void Main() {
        Stack stack = new Stack();
        stack.Push(150);
        stack.Push(300);
        stack.Push(500);
        stack.Push(750);
        stack.Push(1000);
        stack.Push(1250);
        stack.Push(1500);
        stack.Push(2000);
        stack.Push(2500);

        Console.WriteLine("स्टैक तत्व...");
        foreach (int val in stack) {
            Console.WriteLine(val);
        }

        Console.WriteLine("तत्वों की संख्या = " + stack.Count);

        stack.Push(3000);
        stack.Push(3500);
        stack.Push(4000);

        Console.WriteLine("\nस्टैक तत्व...अपडेटेड");
        foreach (int val in stack) {
            Console.WriteLine(val);
        }

        Console.WriteLine("\nतत्वों की संख्या (अपडेटेड) = " + stack.Count);

        Stack stack2 = (Stack)stack.Clone();
        Console.WriteLine("\nस्टैक तत्व...क्लोन");
        foreach (int val in stack2) {
            Console.WriteLine(val);
        }

        Console.Write("क्लोन स्टैक में तत्वों की संख्या (अपडेटेड) = " + stack2.Count);
    }
}

आउटपुट

स्टैक तत्व...
2500
2000
1500
1250
1000
750
500
300
150
तत्वों की संख्या = 9

स्टैक तत्व...अपडेटेड
4000
3500
3000
2500
2000
1500
1250
1000
750
500
300
150
तत्वों की संख्या (अपडेटेड) = 12

स्टैक तत्व...क्लोन
4000
3500
3000
2500
2000
1500
1250
1000
750
500
300
150
क्लोन स्टैक में तत्वों की संख्या (अपडेटेड) = 12

उदाहरण 2: स्ट्रिंग स्टैक क्लोन करना

using System;
using System.Collections;

public class Demo {
    public static void Main() {
        Stack stack = new Stack();
        stack.Push("Inspiron");
        stack.Push("Alienware");
        stack.Push("Projectors");
        stack.Push("Monitors");
        stack.Push("XPS");
        stack.Push("Laptop");
        stack.Push("Notebook");

        Console.WriteLine("स्टैक तत्व...");
        foreach (string val in stack) {
            Console.WriteLine(val);
        }

        Console.WriteLine("तत्वों की संख्या = " + stack.Count);

        stack.Push("Headphone");
        stack.Push("Keyboard");
        stack.Push("Earphone");

        Console.WriteLine("\nस्टैक तत्व...अपडेटेड");
        foreach (string val in stack) {
            Console.WriteLine(val);
        }

        Console.WriteLine("तत्वों की संख्या (अपडेटेड) = " + stack.Count);

        Stack stack2 = (Stack)stack.Clone();
        Console.WriteLine("\nस्टैक तत्व...क्लोन");
        foreach (string val in stack2) {
            Console.WriteLine(val);
        }

        Console.Write("तत्वों की संख्या (अपडेटेड) = " + stack2.Count);
    }
}

आउटपुट

स्टैक तत्व...
Notebook
Laptop
XPS
Monitors
Projectors
Alienware
Inspiron
तत्वों की संख्या = 7

स्टैक तत्व...अपडेटेड
Earphone
Keyboard
Headphone
Notebook
Laptop
XPS
Monitors
Projectors
Alienware
Inspiron
तत्वों की संख्या (अपडेटेड) = 10

स्टैक तत्व...क्लोन
Earphone
Keyboard
Headphone
Notebook
Laptop
XPS
Monitors
Projectors
Alienware
Inspiron
तत्वों की संख्या (अपडेटेड) = 10

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

  • शैलो कॉपी: तत्व स्वयं कॉपी नहीं होते - केवल संदर्भ (रेफरेंस) कॉपी होते हैं। रेफरेंस टाइप्स के लिए, दोनों स्टैक्स समान ऑब्जेक्ट्स को इंगित करते हैं।
  • वैल्यू टाइप्स (int, float, आदि) के लिए प्रभावी रूप से डीप कॉपी होती है क्योंकि मान स्टैक पर संग्रहीत होते हैं।
  • वापसी प्रकार object है - Stack में कास्ट करना आवश्यक।
  • जेनेरिक Stack<T> में Clone() नहीं है - new Stack<T>(original) कंस्ट्रक्टर या ToArray() का उपयोग करें।
  • समय जटिलता: O(n)।
  1. - JavaScript में स्टैक पर एलिमेंट्स पुश करना

    JavaScript में कुछ छोटे हेल्पर फ़ंक्शन्स के साथ निम्न स्टैक क्लास पर विचार करें। उदाहरण class Stack {    constructor(maxSize) {       // यदि प्रदान नहीं किया गया तो डिफ़ॉल्ट अधिकतम आकार सेट करें       if (isNaN(maxSize)) {          m

  1. - JavaScript का उपयोग करके स्टैक के तत्वों को सॉर्ट करना

    हमें एक JavaScript फ़ंक्शन लिखना आवश्यक है जो पूर्णांकों की एक सरणी लेता है। पुनरावृत्ति और सरणी के पुश और पॉप मेथड्स का उपयोग करके, फ़ंक्शन को सरणी को इन-प्लेस सॉर्ट करना चाहिए।उदाहरणइसके लिए कोड होगा − stack[stack.length - 1]) { stack.push(e); } else { let x = stack.pop();

  1. HTML DOM cloneNode() मेथड HTML DOM cloneNode() मेथड

    HTML DOM cloneNode() मेथड का उपयोग उस नोड की एक कॉपी बनाने के लिए किया जाता है जिस पर cloneNode() मेथड कॉल किया जाता है और यह क्लोन को वापस करता है। cloneNode() मेथड दिए गए नोड के सभी एट्रिब्यूट्स और वैल्यूज को क्लोन करता है।सिंटैक्स (Syntax)cloneNode() मेथड का सिंटैक्स:yourNode.cloneNode([deep])यहा