mergesort函数正确排序,直到最后一次迭代,其中最大的字母值从完成的数组中完全删除 . 我是C的新手,我正在努力解决这个问题,因为在使用strcmp时,mergesort works perfectly 与ENTRY结构的OCCURRENCES属性有关但不与char数组WORDS ...它应该工作相同,这里是结构的代码和用于合并和排序功能:
这是我输出的一个示例:该文件包含“你好世界你怎么做”
| hello | 1 |
| world | 1 |
| how | 2 |
| are | 1 |
| you | 1 |
| doing | 1 |
+-----------------------------------+
+_____________________________+
| Word | Occurrences |
+-----------------------------+
| how | 2 |
| doing | 1 |
| you | 1 |
| are | 1 |
| world | 1 |
| hello | 1 |
+-----------------------------+
+___________________________________+
| Word | Occurrences |
+-----------------------------------+
| are | 1 |
| doing | 1 |
| hello | 1 |
| how | 2 |
| world | 1 |
+-----------------------------------+
zoe@zoe-VirtualBox:~/Analysis$ ^C
1 回答
看起来您的
merge
函数中有复制/粘贴错误 . 代替:你要:
在此之后,您的排序代码工作正常 .
这是一些测试代码 . 我打电话给:
输出返回为:
这是测试代码: