Merge some changes after using cppcheck
Used std::copy instead of loop and added const prefix for vector argument in set_all_neighbours function and many other things that cppcheck suggested me to do
Used std::copy instead of loop and added const prefix for vector argument in set_all_neighbours function and many other things that cppcheck suggested me to do