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