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

Android में स्टैक (Stack) को कैसे सॉर्ट करें?

Android में स्टैक (Stack) को सॉर्ट करना

यह उदाहरण दर्शाता है कि Android में स्टैक को कैसे सॉर्ट किया जाता है।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में File → New Project पर जाएं और आवश्यक विवरण भरकर एक नया प्रोजेक्ट बनाएं।

चरण 2: लेआउट XML में कोड जोड़ें

res/layout/activity_main.xml में निम्नलिखित कोड जोड़ें:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:gravity="center"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/text"
        android:textSize="30sp"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

उपरोक्त कोड में, हमने सॉर्टेड स्टैक दिखाने के लिए TextView लिया है।

चरण 3: MainActivity.java में कोड जोड़ें

package com.example.myapplication;

import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
import java.util.Collections;
import java.util.Stack;

public class MainActivity extends AppCompatActivity {
    @RequiresApi(api = Build.VERSION_CODES.P)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Stack<Integer> stack = new Stack<>();
        stack.add(1);
        stack.add(10);
        stack.add(9);
        stack.add(4);
        stack.add(3);
        stack.add(2);

        // Stack को List में बदलकर सॉर्ट करें
        Collections.sort(stack);

        TextView textView = findViewById(R.id.text);
        textView.setText("सॉर्टेड स्टैक: " + stack.toString());
    }
}

एप्लिकेशन चलाएं

अपने Android डिवाइस को कंप्यूटर से कनेक्ट करें। Android Studio में प्रोजेक्ट की एक्टिविटी फाइल खोलें और टूलबार से Run आइकन पर क्लिक करें। अपना मोबाइल डिवाइस चुनें और परिणाम देखें।

Android में स्टैक (Stack) को कैसे सॉर्ट करें?

परिणाम: [1, 2, 3, 4, 9, 10] - स्टैक आरोही क्रम में सॉर्टेड।

स्टैक सॉर्ट करने के तरीके

1. Collections.sort() - सबसे सरल (O(n log n))

Stack<Integer> stack = new Stack<>();
stack.add(10); stack.add(1); stack.add(5);
Collections.sort(stack); // [1, 5, 10]

2. एक अतिरिक्त स्टैक का उपयोग करके (क्लासिक इंटरव्यू प्रश्न)

public static void sortStack(Stack<Integer> stack) {
    Stack<Integer> tempStack = new Stack<>();
    
    while (!stack.isEmpty()) {
        int tmp = stack.pop();
        
        // tempStack में सही स्थान ढूंढें
        while (!tempStack.isEmpty() && tempStack.peek() > tmp) {
            stack.push(tempStack.pop());
        }
        tempStack.push(tmp);
    }
    
    // वापस मूल स्टैक में डालें
    while (!tempStack.isEmpty()) {
        stack.push(tempStack.pop());
    }
}

3. रिकर्सन का उपयोग करके

public static void sortStackRecursive(Stack<Integer> stack) {
    if (!stack.isEmpty()) {
        int x = stack.pop();
        sortStackRecursive(stack);
        sortedInsert(stack, x);
    }
}

private static void sortedInsert(Stack<Integer> stack, int x) {
    if (stack.isEmpty() || x > stack.peek()) {
        stack.push(x);
        return;
    }
    int temp = stack.pop();
    sortedInsert(stack, x);
    stack.push(temp);
}

तुलना

तरीका समय जटिलता स्पेस जटिलता टिप्पणी
Collections.sort() O(n log n) O(n) सबसे सरल, प्रोडक्शन के लिए बेस्ट
अतिरिक्त स्टैक O(n²) O(n) इंटरव्यू के लिए क्लासिक
रिकर्सन O(n²) O(n) कॉल स्टैक स्टैक ओवरफ्लो का खतरा

मुख्य बिंदु

  • Java का Stack क्लास Vector को एक्सटेंड करता है, इसलिए Collections.sort() काम करता है
  • स्टैक LIFO है, सॉर्ट करने के बाद भी LIFO व्यवहार रहता है
  • प्रोडक्शन कोड में Collections.sort() या ArrayDeque + सॉर्टिंग का उपयोग करें
  • कस्टम ऑब्जेक्ट्स के लिए Comparator का उपयोग करें
  1. Android ListView में स्ट्रिंग सरणी को कैसे सॉर्ट करें? Android ListView में स्ट्रिंग सरणी को कैसे सॉर्ट करें?

    Android ListView में Arrays.sort() का उपयोग करके स्ट्रिंग सरणी सॉर्ट करें यह उदाहरण दर्शाता है कि Android ListView में स्ट्रिंग सरणी को कैसे सॉर्ट किया जाता है। Java के बिल्ट-इन Arrays.sort() मेथड का उपयोग किया गया है। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project पर जाएं और नया

  1. एंड्रॉइड में वॉली एलिमेंट्स को कैसे सॉर्ट करें एंड्रॉइड में वॉली एलिमेंट्स को कैसे सॉर्ट करें

    वॉली (Volley) से प्राप्त डेटा को सॉर्ट करना यह उदाहरण दिखाता है कि Volley लाइब्रेरी से JSON डेटा प्राप्त करके ArrayList में स्टोर करने के बाद उसे कैसे सॉर्ट करें। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में नया प्रोजेक्ट बनाएं। चरण 2: लेआउट फ़ाइल <?xml version=1.0 encoding=utf-8?> <Line

  1. एंड्रॉइड में वॉली एलिमेंट्स को रिवर्स सॉर्ट कैसे करें एंड्रॉइड में वॉली एलिमेंट्स को रिवर्स सॉर्ट कैसे करें

    Volley डेटा को उल्टे क्रम में व्यवस्थित करना Collections.reverse() का उपयोग करके सॉर्ट की गई लिस्ट को रिवर्स ऑर्डर में दिखाना। चरण 1-2: प्रोजेक्ट और लेआउट मानक सेटअप। चरण 3: MainActivity.java में रिवर्स सॉर्टिंग package com.example.myapplication; import android.os.Build; import android.os.Bundle;