树洞zjut第二版，重构了代码

树洞zjut第二版，重构了代码，把功能拆分到多个模块，更容易扩展