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

C++ में एक स्ट्रिंग को दूसरे में कॉपी किए बिना स्ट्रिंग्स की सरणी को सॉर्ट क्रम में प्रिंट करें


स्ट्रिंग को दूसरे में कॉपी किए बिना सॉर्ट क्रम में स्ट्रिंग्स की सरणी प्रिंट करने की समस्या में, हमें स्ट्रिंग्स की सरणी को सॉर्ट करना होगा। यहां प्रोग्रामर सॉर्ट करते समय एक स्ट्रिंग को दूसरी स्ट्रिंग में कॉपी नहीं कर सकता।

आइए एक उदाहरण लेकर अवधारणा को बेहतर ढंग से समझते हैं :

उदाहरण -

Input : {"Delhi", "Hyderabad", "Indore", "Mumbai", "Banglore"} Output : Banglore, Delhi, Hyderabad, Indore, Mumbai

व्याख्या - लेक्सिकोग्राफिक रूप से क्रम किया जाता है। तो, B से शुरू होने वाला Banglore पहले आता है और M से शुरू होने वाला Mumbai अंत में आता है।

अब, आइए हमारी समस्या का समाधान निकालने का प्रयास करते हैं।

समस्या को हल करने के लिए, हम एक सरणी बना सकते हैं जो इन स्ट्रिंग्स के सही सूचकांक को संग्रहीत करती है क्योंकि वास्तव में स्ट्रिंग्स की स्थितियों को बदलने के लिए कॉपी करने की आवश्यकता होती है। तो यह समस्या को हल करने का एक संभावित तरीका है।

हम एक इंडेक्स सरणी का उपयोग करेंगे और सॉर्टिंग तकनीक का उपयोग करके इसे सॉर्ट करेंगे और फिर प्रिंट करेंगे। यहां, हम एक सिलेक्शन सॉर्ट तकनीक का उपयोग करेंगे जो सीधी तुलना का उपयोग करती है।

उदाहरण

अब आइए कार्यान्वयन को दर्शाने वाला एक प्रोग्राम बनाते हैं -

#include <iostream> using namespace std; void sortedStringArray(string arr[], int n){     int stringIndex[n];     int i, j, min;     for (i=0; i<n; i++)     stringIndex[i] = i;     for (i=0; i<n-1; i++){         min = i;         for (j=i+1; j<n; j++){             if (arr[stringIndex[min]].compare(arr[stringIndex[j]]) > 0)                 min = j;         }         if (min != i){             int temp = stringIndex[min];             stringIndex[min] = stringIndex[i];             stringIndex[i] = temp;         }     }     for (i=0; i<n; i++)         cout << arr[stringIndex[i]] << ", "; } int main(){     string arr[] = {"Delhi", "Hyderabad", "Indore", "Mumbai", "Banglore"};     int n = 5;     sortedStringArray(arr, n);     return 0; }

आउटपुट

Banglore, Delhi, Hyderabad, Indore, Mumbai,

  1. C++ में बाइनरी ट्री के स्तरों को सॉर्ट क्रम में प्रिंट करें C++ में बाइनरी ट्री के स्तरों को सॉर्ट क्रम में प्रिंट करें

    इस समस्या में, हमें एक बाइनरी ट्री दिया गया है और हमें प्रत्येक स्तर पर सभी नोड्स को उनके मानों के सॉर्ट क्रम में प्रिंट करना है। आइए एक उदाहरण लेकर अवधारणा को बेहतर ढंग से समझते हैं, इनपुट - आउटपुट - 20 6 15 2 17 32 78 इस समस्या को हल करने के लिए, हमें ट्री के प्रत्येक स्तर का सॉर्ट क्रम प्रिंट कर

  1. - C++ में स्ट्रिंग्स की सरणी

    इस खंड में हम देखेंगे कि C++ में स्ट्रिंग्स की सरणी को कैसे परिभाषित किया जाए। जैसा कि हम जानते हैं कि C में कोई स्ट्रिंग्स नहीं थीं। हमें कैरेक्टर सरणी का उपयोग करके स्ट्रिंग्स बनानी पड़ती थीं। इसलिए कुछ स्ट्रिंग्स की सरणी बनाने के लिए, हमें कैरेक्टर्स की 2-आयामी सरणी बनानी पड़ती थी। प्रत्येक पंक्

  1. - C++ में स्ट्रिंग्स का ऐरे

    C++ में स्ट्रिंग कीवर्ड का उपयोग करके स्ट्रिंग्स का ऐरे बनाया जा सकता है। यहां हम इस दृष्टिकोण का उपयोग करके एक C++ प्रोग्राम पर चर्चा कर रहे हैं। एल्गोरिदम Begin स्ट्रिंग कीवर्ड द्वारा ऐरे के तत्वों को इनिशियलाइज़ करें। और स्ट्रिंग को इनपुट के रूप में लें। ऐरे प्रिंट करें। End. उदाहरण को