Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Πώς να ταξινομήσετε με Turbo C + +

Turbo C + + έχει υποστεί μερικές αλλαγές ονομάτων , αλλά δεδομένου ότι χρησιμοποιεί τα πρότυπα που ορίζονται από τον Αμερικανικό Εθνικό Ινστιτούτο Προτύπων ( ANSI ) , διαλογή ρουτίνες με την ίδια σύνταξη είναι εκτελέσιμο σε όλες τις εκδόσεις ( συμπεριλαμβανομένης της Turbo C , αν ακόμα έχετε έναν υπολογιστή από τη δεκαετία του '80 ) . Turbo C + + αντικατασταθεί Turbo C γύρω στο 1990 ? Η απελευθέρωση Αύγουστο του 2010 ονομάζεται C + + Builder XE . Turbo C + + επεκτείνει τη γλώσσα προγραμματισμού C ? Ως εκ τούτου , οι περισσότερες λειτουργίες Γ ισχύουν επίσης σε C ​​+ + . Turbo C + + προσφέρει πολλούς διαφορετικούς αλγόριθμους ταξινόμησης ? Η πιο απλή - αλλά ίσως δεν είναι η πιο αποτελεσματική για πολύ μεγάλες λίστες - είναι ο αλγόριθμος bubble -sort . Αυτός ο αλγόριθμος συγκρίνει τα στοιχεία της λίστας και swaps τιμές έως ότου η λίστα είναι ταξινομημένη . Οδηγίες
Η 1

αναγνωρίσει μια μεταβλητή που ονομάζεται " temp" που είναι του ίδιου τύπου με τον κατάλογο που διαλογής . Για παράδειγμα , αν είστε διαλογή μια σειρά ακεραίων ονομάζεται " integerList " από την χαμηλότερη στην υψηλότερη , δηλώστε τη μεταβλητή temp ως εξής :

int temp ?

Αργότερα , αυτή η μεταβλητή θα κρατήσει προσωρινά τις τιμές . για μεταφορά 2

αναγνωρίσει δύο ακέραιων μεταβλητών - " . ι " " i" και Αυτά τα στοιχεία θα έχει πρόσβαση στη λίστα συστοιχία . Για παράδειγμα , για να αποκτήσετε πρόσβαση σε στοιχείο j , χρησιμοποιήστε τη σύνταξη " integerList [ ι ] . " Είναι νοικοκυρεμένη να δηλώσει τις μεταβλητές αυτές , παράλληλα με τη μεταβλητή temp ως εξής :

int temp , i , j ?
Εικόνων 3

αναγνωρίσει μια ακέραια μεταβλητή που ονομάζεται " listLength " και να ορίσετε σε αυτό ο αριθμός των στοιχείων στη λίστα. Για παράδειγμα :

int listLength = 30 ?
Η 4

Κατασκευάστε το πλαίσιο για μια " για " βρόχο , χρησιμοποιώντας τη μεταβλητή i ως iterator στην επιχειρηματολογία του , το μηδέν για την αρχική τιμή , listLength για το τέλος αξίας και ένα μέγεθος βήματος του ενός. Ένας βρόχος "for" περιέχει κώδικα που εκτελείται κατ 'επανάληψη παίρνει πάνω από τον αριθμό των βημάτων που ορίζεται από το " για " τρία επιχειρήματα βρόχων , οι οποίες περιλαμβάνουν την αξία έναρξης και λήξης αξία και το μέγεθος του βήματος . Κάνετε αυτό ως εξής :

για ( i = 0 ? I


κωδικός πηγαίνει εδώ

}

5

Nest άλλο " για " βρόχο μέσα στον προηγούμενο βρόγχο , αυτή τη φορά χρησιμοποιώντας τη μεταβλητή j ως iterator , i +1 για την τιμή εκκίνησης , listLength για την τελική τιμή και το μέγεθος βήμα ένα. Ο κώδικας θα πρέπει τώρα να μοιάζει κάπως έτσι :

int temp , i , j , listLength = 30 ?

Για ( i = 0 ? I

{

για ( j = i +1 ? j


κωδικός πηγαίνει εδώ

}

}

Αυτό θα πρέπει πρώτα να επιλέξετε το στοιχείο i από όπου η συστοιχία διαλογή και στη συνέχεια να περάσει το υπόλοιπο της λίστας , συγκρίνετε το στοιχείο j με το στοιχείο i και να ανταλλάξουμε τις τιμές, εάν το στοιχείο i είναι μικρότερο από το στοιχείο j .

6

Τοποθετήστε ένα "αν" βρόχο για να ελέγξετε εάν η j'th στοιχείο είναι μεγαλύτερη από την i-οστή ως εξής :

int temp , i , j , listLength = 30 ?

για ( i = 0 ? i


για ( j = i +1 ? j

{

αν ( integerList [ i ] > integerList [ ι ] )

{

κωδικός πηγαίνει εδώ

}

}

}
Η 7

Εισάγετε τον κωδικό για να ανταλλάξουν στοιχεία i και j αν integerList [ i ] είναι μεγαλύτερη από ό, τι integerList [ ι ] ως εξής :

int temp , i , j , listLength = 30 ?

για ( i = 0 ? i


για ( j = i +1 ? j


αν ( integerList [ i ] > ότι η μεταβλητή temp δηλωθεί νωρίτερα είναι τώρα χρησιμοποιείται ως προσωρινό κάτοχο των στοιχείων στη λίστα .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα