Προετοιμάστε σειρά σας . Αν δεν έχετε ήδη ένα αντικείμενο πίνακα στο πρόγραμμά σας , δημιουργήστε έναν τώρα :
//δημιουργήσει μια σειρά και να καθορίσετε το μήκος
int [ ] someNumbers = new int [ 13 ] ?
//υπόσταση τον πίνακα με ορισμένα στοιχεία
for (int i = 0 ? i someNumbers [ i ] = i ? Αυτό το παράδειγμα χρησιμοποιεί πρωτόγονα ints τύπου , αλλά η μέθοδος λειτουργεί για συστοιχίες των κάθε είδους , συμπεριλαμβανομένων των αντικειμένων . Για αυτό το παράδειγμα , ο πίνακας περιέχει αρχικά αριθμών, από το μηδέν προς τα πάνω 2 Δημιουργία μεταβλητών για να παρακολουθείτε τη θέση σας καθώς κινούνται κατά μήκος της συστοιχίας από τα δύο άκρα : . //κάποιος ξεκινάει στην πρώτη θέση , το άλλο στην τελευταία int leftPosn = 0 ? int rightPosn = someNumbers.length - 1 ? Ο αλγόριθμος πρόκειται να χρησιμοποιήσει ένας βρόχος , κάθε επανάληψη του οποίου θα περιλαμβάνει την εναλλαγή των δύο στοιχείων , αρχής γενομένης από την εναλλαγή η πρώτη και η τελευταία , στη συνέχεια, συνεχίζοντας προς το κέντρο . Δημιουργήστε μια θηλιά για τον αλγόριθμο σας . Μπορείτε να χρησιμοποιήσετε ό, τι είδος βρόχου κάνει περισσότερο νόημα για εσάς , αλλά σε αυτή την περίπτωση η απλούστερη επιλογή είναι ένα βρόχο while : //ελέγχει αν αριστερά και δεξιά θέσεις δεν έχουν ακόμη φθάσει στο μεσαίο ενώ ( leftPosn { //loop πηγαίνει εδώ } Ο βρόχος θα συνεχιστεί για όσο διάστημα το αριστερό και το δεξί μετρητές δεν έχουν ακόμη φτάσει στη μέση του πίνακα . Swap κάθε ζεύγος στοιχείων με τη σειρά . Εντός του βρόχου , ενώ σας ( " περιεκτικότητα σε βρόχο πηγαίνει εδώ " ) : //αντιγράψετε το αριστερότερο στοιχείο του ζεύγους σε μια νέα προσωρινή μεταβλητή int tempCopy = someNumbers [ leftPosn ] ? //αντιγραφή το δεξιότερο στοιχείο στην αριστερότερη θέση someNumbers [ leftPosn ] = someNumbers [ rightPosn ] ? /* αντιγράψετε το αρχικό στοιχείο αριστερότερα από την προσωρινή μεταβλητή * στη δεξιότερη θέση * / someNumbers [ rightPosn ] = tempCopy ? . Η προσωρινή μεταβλητή πρέπει να είναι διαθέσιμες σε κάθε επανάληψη του βρόχου Μετακίνηση θέση μετρητή μεταβλητές μαζί σας κάθε φορά που ο βρόχος εκτελείται . Σε αυτό το διάστημα μπλοκ κώδικα loop ( μετά την ανταλλαγή) : //αύξηση και μείωση θέσεων να συνεχίσουν να εργάζονται προς τη μέση leftPosn + + ? RightPosn - ? Δοκιμάστε τον κωδικό σας εκτελώντας το πρόγραμμά σας και να εξάγει τα περιεχόμενα του πίνακα σας ως εξής ( μετά τον βρόχο while ) : για ( int j = 0 ? j System.out.println ( someNumbers [ j ] ) ?
εικόνων 3
περιεχόμενο
Η 4
Η 5
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα