格式化,排序,输出。
注记:
1、排序可以使用C语言stdlib.h中的快排函数
void qsort(void *base, int nelem, int width, int (*fcmp)(const void *,const void *));参数:
1 待排序数组首地址
2 数组中待排序元素数量
3 各元素的占用空间大小
4 指向函数的指针,用于确定排序的顺序
int comp(const void *a, const void *b) { return strcmp((char*)a, (char*)b); }
qsort(str, n, sizeof(char)* STRLEN, comp);
2、输入中的一行字符串最多有多长?
起初,我用的字符串长度为20,但提交后“Wrong Answer”……
分析之后,确定算法没有问题,后来把20改为100,“Accept”……
3、函数的参数为二维数组时,如何引用?
起初,函数是这样定义的
void printCount(char **, int);数组是这样定义的
char str[NUM][STRLEN];当调用函数时,
printCount(str, n);提示:“char **”与“char [100000][9]”的间接级别不同。
void printCount(char [][STRLEN], int);
一些解释见如下链接。
将二维数组当作参数的时候,必须指明所有维数大小或者省略第一维的,但是不能省略第二维或者更高维的大小,这是由编译器原理限制的。(原因不是很理解,若是以后能够理解,便补上!)
http://blog.csdn.net/yunyun1886358/article/details/5659851
http://blog.csdn.net/xudongdong99/article/details/6723163
------------
未来:
我想把各个排序算法都实现以下,然后看看效率如何,不过重点还是亲自写一下排序算法!