समस्या
उपयोगकर्ता द्वारा रनटाइम पर दिए गए नामों को बबल सॉर्ट तकनीक का उपयोग करके वर्णमाला क्रम में सॉर्ट करें।
समाधान
नामों को वर्णमाला क्रम में प्रिंट करने के लिए उपयोग की जाने वाली लॉजिक:
for (i = 1; i < ITEMS; i++) {
for (j = 1; j <= ITEMS - i; j++) {
if (strcmp(string[j-1], string[j]) > 0) { /* कंटेंट्स का एक्सचेंज */
strcpy(dummy, string[j-1]);
strcpy(string[j-1], string[j]);
strcpy(string[j], dummy);
}
}
}
उदाहरण
स्ट्रिंग फंक्शन्स का उपयोग करके नामों को वर्णमाला क्रम में सॉर्ट करने का C प्रोग्राम:
#define ITEMS 5
#define MAXCHAR 20
main() {
char string[ITEMS][MAXCHAR], dummy[MAXCHAR];
int i = 0, j = 0;
/* लिस्ट पढ़ना */
printf("%d आइटम्स के नाम दर्ज करें \n", ITEMS);
while (i < ITEMS)
scanf("%s", string[i++]);
/* सॉर्टिंग शुरू */
for (i = 1; i < ITEMS; i++) {
for (j = 1; j <= ITEMS - i; j++) {
if (strcmp(string[j-1], string[j]) > 0) { /* कंटेंट्स का एक्सचेंज */
strcpy(dummy, string[j-1]);
strcpy(string[j-1], string[j]);
strcpy(string[j], dummy);
}
}
}
printf("\nवर्णमाला क्रम में लिस्ट \n\n");
for (i = 0; i < ITEMS; i++)
printf("%s\n", string[i]);
}
आउटपुट
5 आइटम्स के नाम दर्ज करें computers architecture organization microprocessor networking वर्णमाला क्रम में लिस्ट architecture computers microprocessor networking organization