snippet bar "barebone code template" #include #include #include #include #include #include #include #include #include #include int main(int argc, char *argv[]) { return 0; } endsnippet snippet icd "#include directive" b #include <$1> $0 endsnippet snippet plist "print vector" w template void printList(const T& arr, const string& desc) { std::cout << desc << ": ["; for (auto it = arr.begin(); it != arr.end(); it++) { std::cout << *it << ((std::next(it) != arr.end()) ? ", " : ""); } std::cout << "]" << std::endl; } endsnippet snippet pmat "print matrix" w template void printMat(const std::vector>& mat, const string& desc) { std::cout << desc << ": " << std::endl; for (auto it1 = mat.begin(); it1 != mat.end(); it1++) { auto cur_vec = *it1; std::cout << "["; for (auto it2 = cur_vec.begin(); it2 != cur_vec.end(); it2++) { std::cout << *it2 << ((std::next(it2) != cur_vec.end()) ? ", " : "]\n"); } } } endsnippet snippet pqueue "print queue" template void printQueue(T q) { while (!q.empty()) { std::cout << q.top() << " "; q.pop(); } std::cout << std::endl; } endsnippet snippet cout "print a variable" w std::cout << "$1: " << $2 << std::endl; endsnippet snippet random "Generate a random list" b std::vector genRandom(int low, int high, int len) { std::random_device rd; std::mt19937 gen(rd()); std::uniform_int_distribution distribution(low, high); std::vector arr(len, 0); for (int i = 0; i != len; ++i) { arr[i] = distribution(gen); } return arr; } endsnippet snippet incset "Use set" b #include endsnippet snippet incmap "Use map" b #include endsnippet snippet incqueue "Use queue" b #include endsnippet snippet incstr "Use string" b #include endsnippet snippet incvec "Use vector" b #include endsnippet snippet incstack "Use stack" b #include endsnippet snippet vec "std::vector" w std::vector<$1> ${2:vec} endsnippet snippet map "std::map" w std::map<$1, $2> ${3:mymap} endsnippet snippet umap "std::unordered_map" std::unordered_map<$1, $2> ${3:mymap} endsnippet snippet set "std::set" w std::set<$1> ${2:myset} endsnippet snippet uset "std::unordered_set" w std::unordered_set<$1> ${2:myset} endsnippet snippet queue "std::queue" w std::queue<$1> ${2:q} endsnippet snippet stack "std::stack" w std::stack<$1> ${2:mystack} endsnippet snippet for "for loop" w for ($1; $2; $3) { $4 } endsnippet snippet if "if condition" w if ($1) { $2 } $0 endsnippet snippet ifelse "if else condition" if ($1) { $2 } else { } endsnippet