Πρόγραμμα C για ταξινόμηση στοιχείων με λεξικογραφική σειρά (σειρά λεξικών)

Σε αυτό το παράδειγμα, θα μάθετε να ταξινομήσετε 5 συμβολοσειρές που εισήγαγε ο χρήστης με τη λεξικογραφική σειρά (σειρά λεξικού).

Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες θεματολογίες προγραμματισμού Γ:

  • Πολυδιάστατες συστοιχίες
  • Χορδές προγραμματισμού C
  • Χειρισμοί συμβολοσειρών στον προγραμματισμό C χρησιμοποιώντας λειτουργίες βιβλιοθήκης

Ταξινόμηση συμβολοσειρών με τη σειρά του λεξικού

 #include #include int main() ( char str(5)(50), temp(50); printf("Enter 5 words: "); // Getting strings input for (int i = 0; i < 5; ++i) ( fgets(str(i), sizeof(str(i)), stdin); ) // storing strings in the lexicographical order for (int i = 0; i < 5; ++i) ( for (int j = i + 1; j 0) ( strcpy(temp, str(i)); strcpy(str(i), str(j)); strcpy(str(j), temp); ) ) ) printf("In the lexicographical order: "); for (int i = 0; i < 5; ++i) ( fputs(str(i), stdout); ) return 0; )

Παραγωγή

 Εισαγάγετε 5 λέξεις: προγραμματισμός R προγραμματισμός Java C προγραμματισμός C ++ προγραμματισμός με λεξικογραφική σειρά: προγραμματισμός C προγραμματισμός C ++ προγραμματισμός Java JavaScript R προγραμματισμός 

Για την επίλυση αυτού του προγράμματος, δημιουργείται μια δισδιάστατη συμβολοσειρά που ονομάζεται str. Η συμβολοσειρά μπορεί να περιέχει το πολύ 5χορδές και κάθε χορδή μπορεί να έχει το πολύ 50χαρακτήρες (συμπεριλαμβανομένου του nullχαρακτήρα)

Στο πρόγραμμα, χρησιμοποιήσαμε δύο λειτουργίες βιβλιοθήκης:

  • strcmp () - για σύγκριση συμβολοσειρών
  • strcpy () - για αντιγραφή συμβολοσειρών

Αυτές οι συναρτήσεις χρησιμοποιούνται για να συγκρίνουν τις συμβολοσειρές και να τις ταξινομήσουν με τη σωστή σειρά.

ενδιαφέροντα άρθρα...