ALTE DOCUMENTE
|
|||||||
. В язык 11411e420l 077; «С» сами функции не являются переменными, но имеется возможность определить указатель на функцию, который можно обрабатывать, передавать другим функциям, помещать в массивы и т.д. Мы проиллюстрируем это, проведя модификацию написанной ранее программы сортировки так, чтобы при задании необязательного аргумента -n
мы можем организовать сортировку по различным критериям. Именно такой подход используется в нашей новой программе сортировки.
strcmp swap numcmp strcmp main sort sort
define lines
main int argc char argv
else
printf("input too big to sort\n");
strcmp nimcmp swap &
sort
v v n
sort(char *v[],int n, int (*comp)(), int (*exch)())
}
int (*comp)()
comp int
int *comp()
comp
comp
if comp v j v j gap]) <= 0)
comp comp
(*comp)(v[j], v[j+gap])
strcmp
s1 s2
numcmp(char *s1, char *s2)
swap
px py
swap char px char py
sort -r -r -n
-f
-d -f
-df
-n для номеров страниц.
|