मैं कार की अपनी सरणी को दो तरीकों से सॉर्ट कर रहा हूं। सालाना एक जो नीचे दिखाया गया है। और एक और बनाकर। मेक एक char * मैं स्ट्रिंग्स की तुलना कैसे करूं जब मेरे पास सिर्फ पॉइंटर्स हों?सी या सी ++। Char * पॉइंटर्स दिए गए दो तारों की तुलना कैसे करें?
int i, j;
for(i=0; i<100; i++){
for(j=0; j<100-i; j++){
if(carArray[i]!=NULL && carArray[j]!= NULL && carArray[j+1]!=NULL){
if(carArray[i]->year > carArray[j+1]->year){
swap(carArray[j], carArray[j+1]);
}
}
}
}
उपरोक्त विधि int (वर्ष) के लिए काम करती है। मैं इसे चार पॉइंटर्स के लिए कैसे काम कर सकता हूं?
तुलना करने के लिए एक असंबंधित नोट पर: क्या आपको पता है कि बुलबुला तरह, सुपर duper अक्षम है ना? – rlbond
बहुत बड़े इनपुट पर यह सुपर-डुप्कर अक्षम है। छोटे इनपुट आकारों पर यह वास्तव में कार्यान्वित करने के लिए इतना आसान होने के कारण, अधिक सेक्सी प्रकार की तुलना में तेज़ हो सकता है। बेशक छोटे इनपुट (इस तरह की) पर गति वास्तव में चिंता का विषय नहीं है। –
लेकिन यदि आप छोटे इनपुट को सॉर्ट करना चाहते हैं, तो आप सम्मिलन सॉर्ट का भी उपयोग कर सकते हैं, जिसमें बेहतर औसत प्रदर्शन होता है, भले ही यह ओ (एन^2) – bobDevil