按照题目要求:
那么用C语言构建思路很明显:
输出名单(构建函数)python
(选择将一些必要数据例如:已经发出请求的个数和已经发现的黑客个数及其hack记录名单,设为全局变量,以减小一些在函数中的传递调用。)git
检查Request.txt是否已经在该目录下,检查完毕后,编译运行:
打开output.txt:
第二次做业代码: (但愿结果正确Orz。)
hacklistgithub
吐槽: - 建立了26*26*26*26的记录空间,可能会占据太多无用空间; - 只适用于四个小写字母的用户名,对于更长或者使用更多其它字符的用户名可能会超出内存范围,不具备拓展性。 新的想法: 先另外建立一个arrange.txt文件,将名单按照请求者名称按照 字典序(ASCLL码大小) 从新排序输入到该文件中;再调用该文件,重定向,将属于同一个请求者的请求集中处理,判断为黑客后输出到ouput.txt。 该想法的优势: 不须要另开临时内存记录,减小了没必要要的无用空间占用,也避免了请求者名称长度不定长或者使用特殊字符的特殊状况。 缺点: - 该方法操做复杂,在排序时和判断时可能须要对文档中的光标进行移动(调用fseek函数,保证偏移量便可) - 效率较低,尤为是在数据极大(超过万或十万)的状况下,排序可能须要考虑快排以减小计算时间,但也必须等到全部人排序结束后才开始判断。 实现:暂无。(亦或许使用python的字典和内置函数实现更快)