Δημοσιεύτηκε: 23 Μαρ 2012, 14:31
από stamatiou
Star_Light έγραψε:@stamatiou δεν εχει καμια σχεση ο αλγοριθμος οπως τον ειδες στην wikipedia με τον αλγοριθμο σε C.
Ο καθε αλγοριθμος ειναι ανεξαρτητος της καθε γλωσσας.

Οταν τον μαθαινεις στο χαρτι τον μαθαινεις στο χαρτι. Οταν τον μαθαινεις στη C τον μαθαινεις σε C.
Γιατι δεν καθεσαι να τον δοκιμασεις πρωτα στο χαρτι να δεις πως δουλευει και μετα να τον δεις και στη C?

Δοκιμασε να τον μαθεις οπως σε βολευει εσενα καλυτερα.

Τον αλγόριθμο τον έχω καταλάβει πως λειτουργεί, και έχω κάνει την υλοποίηση σε C:
Κώδικας: Επιλογή όλων

#include <stdio.h>

int main(void) {
int i,j,key,array[9] = {2,4,6,8,9,1,5,3,7};
for(i = 0; i < 9; i++) {
printf("%d",array[i]);
}
putchar('\n');

for(j = 2; j < 9; j++) {
i = j - 1;
key = array[j];
while(i >= 0 && array[i] > key) {
array[i + 1] = array[i];
i--;
}
array[i + 1] = key;
}
for(i = 0; i < 9; i++) {
printf("%d",array[i]);
}
putchar('\n');
return 0;
}

Απλά για κάποιο λόγο δεν δουλεύει με δυναμική κατανομή :/