knn 的C++版本完成，写了一些辅助类