Δημοσιεύτηκε: 14 Αύγ 2011, 08:28
Εννοείται πως χωρίς manual συναρτήσεων δεν πας πουθενά, σε καμιά γλώσσα! Απλά όσο μεγαλύτερη εμπειρία αποκτά κανείς σε μια γλώσσα τόσο περισσότερες συναρτήσεις θυμάται απ' έξω, με την έννοια του τι περίπου κάνουν για να μπορεί να τις συνδυάζει στο μυαλό του όταν σχεδιάζει τη λύση του κάθε προβλήματος. Για την ακριβή σύνταξη και τα ορίσματα της κάθε συνάρτησης, προφανώς πρέπει κι αυτός να ανατρέξει στο manual.
@stamatiou: η έτοιμη qsort ταξινομεί μόνο σε αύξουσα σειρά αν θυμάμαι καλά. Συν ότι εκτελείται και πιο αργά συγκριτικά με μια custom συνάρτηση η οποία κάνεις απευθείας μέσα της τις συγκρίσεις χωρίς να καλεί συνεχώς ξεχωριστή συνάρτηση σύγκρισης.
Στη συγκεκριμένη άσκηση όμως δεν χρειάζεται καν αλγόριθμος ταξινόμησης. Απλά διατρέχεις τον πίνακα μέχρι να βρεις στοιχείο που να είναι μικρότερο της τιμής του νέου στοιχείου και μόλις το βρεις εισαγάγεις μπροστά του το νέο στοιχείο (αφού πρώτα μετακινήσεις όλα τα στοιχεία του πίνακα μια θέση προς τα δεξιά από εκεί και μετά). Προφανώς θα πρέπει να φροντίσεις και τις περιπτώσεις που ο πίνακας είναι ήδη γεμάτος. Επίσης όταν τον διατρέχεις δεν αρκεί μονάχα έλεγχος για το αν η νέα τιμή είναι μεγαλύτερη του κάθε ατοιχείου, αλλά και το να βρίσκεσαι εντός ορίων του πίνακα, καθώς και το ότι το κάθε υπάρχον στοιχείο που ελέγχεις να μην είναι EMPTY_ELEMVAL.
ΥΓ1. Επίσης θερμή παράκληση, γράφε λίγο πιο ευανάγνωστο κώδικα, με χρήση κενών διαστημάτων, ευανάγνωστα ονόματα μεταβλητών και macros και γραμμές από παύλες σε σχόλια πάνω από κάθε συνάρτηση, γιατί δυσκολεύομαι πολύ να διαβάσω τον κώδικά σου
ΥΓ2. Πάω για μπανάκι εγώ, θα επιστρέψω το απόγευμα
@stamatiou: η έτοιμη qsort ταξινομεί μόνο σε αύξουσα σειρά αν θυμάμαι καλά. Συν ότι εκτελείται και πιο αργά συγκριτικά με μια custom συνάρτηση η οποία κάνεις απευθείας μέσα της τις συγκρίσεις χωρίς να καλεί συνεχώς ξεχωριστή συνάρτηση σύγκρισης.
Στη συγκεκριμένη άσκηση όμως δεν χρειάζεται καν αλγόριθμος ταξινόμησης. Απλά διατρέχεις τον πίνακα μέχρι να βρεις στοιχείο που να είναι μικρότερο της τιμής του νέου στοιχείου και μόλις το βρεις εισαγάγεις μπροστά του το νέο στοιχείο (αφού πρώτα μετακινήσεις όλα τα στοιχεία του πίνακα μια θέση προς τα δεξιά από εκεί και μετά). Προφανώς θα πρέπει να φροντίσεις και τις περιπτώσεις που ο πίνακας είναι ήδη γεμάτος. Επίσης όταν τον διατρέχεις δεν αρκεί μονάχα έλεγχος για το αν η νέα τιμή είναι μεγαλύτερη του κάθε ατοιχείου, αλλά και το να βρίσκεσαι εντός ορίων του πίνακα, καθώς και το ότι το κάθε υπάρχον στοιχείο που ελέγχεις να μην είναι EMPTY_ELEMVAL.
ΥΓ1. Επίσης θερμή παράκληση, γράφε λίγο πιο ευανάγνωστο κώδικα, με χρήση κενών διαστημάτων, ευανάγνωστα ονόματα μεταβλητών και macros και γραμμές από παύλες σε σχόλια πάνω από κάθε συνάρτηση, γιατί δυσκολεύομαι πολύ να διαβάσω τον κώδικά σου
ΥΓ2. Πάω για μπανάκι εγώ, θα επιστρέψω το απόγευμα