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

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

Πώς να Αντίστροφη μια σειρά από αριθμούς με Java

αντιστροφή του περιεχομένου μιας συστοιχίας Java είναι μια κοινή εργασία , και δεν απαιτεί μεγάλο μέρος του κώδικα . Υπάρχουν διάφορες πιθανές προσεγγίσεις για την αντιστροφή σειρά πίνακα, αλλά η απλούστερη είναι από την εργασία από κάθε άκρο της διάταξης προς το κέντρο , ανταλλάσσοντας κάθε ζεύγος στοιχείων με τη σειρά τους . Για να ανταλλάξουν τις θέσεις στοιχείο μέσα σε μια σειρά , θα πρέπει να αντιγράψετε περίπου οι μισοί από αυτούς σε προσωρινές μεταβλητές όπως πάτε , αφού μόλις μετακινήσετε ένα στοιχείο σε μια διαφορετική θέση , θα έχουν αντικατασταθεί ένα άλλο στοιχείο . Οδηγίες
Η 1

Προετοιμάστε σειρά σας . Αν δεν έχετε ήδη ένα αντικείμενο πίνακα στο πρόγραμμά σας , δημιουργήστε έναν τώρα :

//δημιουργήσει μια σειρά και να καθορίσετε το μήκος

int [ ] someNumbers = new int [ 13 ] ?

//υπόσταση τον πίνακα με ορισμένα στοιχεία

for (int i = 0 ? i

someNumbers [ i ] = i ?

Αυτό το παράδειγμα χρησιμοποιεί πρωτόγονα ints τύπου , αλλά η μέθοδος λειτουργεί για συστοιχίες των κάθε είδους , συμπεριλαμβανομένων των αντικειμένων . Για αυτό το παράδειγμα , ο πίνακας περιέχει αρχικά αριθμών, από το μηδέν προς τα πάνω 2

Δημιουργία μεταβλητών για να παρακολουθείτε τη θέση σας καθώς κινούνται κατά μήκος της συστοιχίας από τα δύο άκρα : .

//κάποιος ξεκινάει στην πρώτη θέση , το άλλο στην τελευταία

int leftPosn = 0 ?

int rightPosn = someNumbers.length - 1 ?

Ο αλγόριθμος πρόκειται να χρησιμοποιήσει ένας βρόχος , κάθε επανάληψη του οποίου θα περιλαμβάνει την εναλλαγή των δύο στοιχείων , αρχής γενομένης από την εναλλαγή η πρώτη και η τελευταία , στη συνέχεια, συνεχίζοντας προς το κέντρο .
εικόνων 3

Δημιουργήστε μια θηλιά για τον αλγόριθμο σας . Μπορείτε να χρησιμοποιήσετε ό, τι είδος βρόχου κάνει περισσότερο νόημα για εσάς , αλλά σε αυτή την περίπτωση η απλούστερη επιλογή είναι ένα βρόχο while :

//ελέγχει αν αριστερά και δεξιά θέσεις δεν έχουν ακόμη φθάσει στο μεσαίο

ενώ ( leftPosn

{
περιεχόμενο

//loop πηγαίνει εδώ

}

Ο βρόχος θα συνεχιστεί για όσο διάστημα το αριστερό και το δεξί μετρητές δεν έχουν ακόμη φτάσει στη μέση του πίνακα .
Η 4

Swap κάθε ζεύγος στοιχείων με τη σειρά . Εντός του βρόχου , ενώ σας ( " περιεκτικότητα σε βρόχο πηγαίνει εδώ " ) :

//αντιγράψετε το αριστερότερο στοιχείο του ζεύγους σε μια νέα προσωρινή μεταβλητή

int tempCopy = someNumbers [ leftPosn ] ?

//αντιγραφή το δεξιότερο στοιχείο στην αριστερότερη θέση

someNumbers [ leftPosn ] = someNumbers [ rightPosn ] ?

/* αντιγράψετε το αρχικό στοιχείο αριστερότερα από την προσωρινή μεταβλητή

* στη δεξιότερη θέση * /

someNumbers [ rightPosn ] = tempCopy ? .

Η προσωρινή μεταβλητή πρέπει να είναι διαθέσιμες σε κάθε επανάληψη του βρόχου
Η 5

Μετακίνηση θέση μετρητή μεταβλητές μαζί σας κάθε φορά που ο βρόχος εκτελείται . Σε αυτό το διάστημα μπλοκ κώδικα loop ( μετά την ανταλλαγή) :

//αύξηση και μείωση θέσεων να συνεχίσουν να εργάζονται προς τη μέση

leftPosn + + ?

RightPosn - ?

Δοκιμάστε τον κωδικό σας εκτελώντας το πρόγραμμά σας και να εξάγει τα περιεχόμενα του πίνακα σας ως εξής ( μετά τον βρόχο while ) :

για ( int j = 0 ? j

System.out.println ( someNumbers [ j ] ) ?
Η
εικόνων

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

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