Can anyone please explain me, step by step, each line of the following sorting algorithm which sorts the input lines numerically, if -n is given at the command line. (Program taken from the book "The C programming language, by brian kernighan and Dennis Ritchie" - Chapter 5. Section 5.11, page no.119)
Code:#include<stdio.h> #include<string.h> #define MAXLINES 5000; char *lineptr[MAXLINES}; int readlines(char *lineptr[], int nlines); void writelines(char *lineptr[], int nlines); void qsort(void *lineptr[], int left, int right, int (*comp)(void *, void *); int numcmp(char *, char *); main(int argc, char *argv[]) { int nlines; int numeric = 0; if(argc > 1 && strcmp(argv[1],"-n") == 0) numeric = 1; if((nlines = readlines(lineptr, MAXLINES))>=0) { qsort((void **)lineptr, 0, nlines-1,(int (*)(void*, void*))(numeric ? numcmp : strcmp); writelines(lineptr, nlines); return 0; } else { printf("Input too short\n"); return 1; } }
what does this line mean..."qsort((void **)lineptr, 0, nlines-1,(int (*)(void*, void*))(numeric ? numcmp : strcmp);"
.
.
.



1Likes
LinkBack URL
About LinkBacks



