![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
荒 原 狼
这个作者很懒,什么都没留下…
展开
-
分解质因数
分解质因数的算法,也是codewars里的题目Primes in numbers。codewars里还要求了输出形式,我又编了个vec2str函数来实现。下面程序的功能:decomposition函数举例:输入number = 12,输出是个vector<pair<int,int>>类型,也就是一系列的pair,分别是(2,2),(3,1),表示因子2有两个,3有一个,12==2*2*3。vec2str函数,将以上vector中的pair转化为string类型,易读,还以12原创 2020-11-10 22:29:05 · 285 阅读 · 0 评论 -
取序列中间元素的表达式
codewars的一道题,要返回一个字符串序列的中间字符,偶数个的话返回中间两个字符,奇数的话返回中间一个字符串,例如:Kata.getMiddle("test") should return "es"Kata.getMiddle("testing") should return "t"自己是这么写的:std::string get_middle(std::string input) {/* return input.size()%2 ? input[input.size()/2+1]原创 2020-11-09 12:49:19 · 151 阅读 · 0 评论 -
字符串遍历时为char类型,操作使用substr()函数
codewars里的题目,要实现一个solution函数,完成功能如下:solution("abc") // should return {"ab", "c_"}solution("abcdef") // should return {"ab", "cd", "ef"}输入的是string类型,返回值是vector<string>类型自己在实现的时候,因为不会高级函数,所以想的很简单,就遍历字符串,过程中每两个字符打包为一个字符串,push_back到名为res的vector中。但实原创 2020-11-09 11:01:36 · 651 阅读 · 0 评论 -
std::pair的基本用法
pair就是一个二元集合。可以用.first和.second来访问成员看下面示例程序吧,是转载的#include <iostream> // std::cout, std::endl#include <utility> // std::pair, std::make_pair#include <string> // std::string int main (int argc, char const* argv[]) { std::转载 2020-10-30 16:08:48 · 2689 阅读 · 0 评论 -
copy_if与lambda表达式
下面这程序实现的功能是从names中筛选出不大于四个字母的名字,插入到more_names中。主要是看看copy_if函数和lambda表达式的用法#include <iostream>#include <vector>#include <string>#include <unordered_set>#include <algorithm>//copy_if函数定义using namespace std;int main() {原创 2020-10-29 13:54:51 · 227 阅读 · 0 评论 -
copy函数与back_inserter、inserter、front_inserter三个迭代器
copy下面程序使用vscode跑的,能直接用。一运行就懂了。干的事情是把lst里的内容拷贝到lst2、lst3、lst4中。使用不同的迭代器会有不同的效果back_inserter和front_inserter根据名字就能理解,尾插法和头插法lst2使用尾插法,lst中每个元素都插在了lst2点末尾,而且保持了正序。lst4是头插法,lst每个元素都插在lst4的前面,插完变成倒序了lst3的inserter,注意需要两个参数。此函数接受第二个参数,这个参数必须是一个指向给定容器的迭代器。元原创 2020-10-29 11:54:27 · 503 阅读 · 0 评论 -
使用typeid(xx).name()返回变量类型
c++里使用typeid(xx).name()输出变量类型的时候,返回值是字母,i、j、l 什么的。发现是编译器的问题,详见这个博客:typeid详解.分别用MS的V8和GUN的GCC编译该段代码并运行,结果分别为下面的二图...原创 2020-10-25 15:46:51 · 771 阅读 · 0 评论 -
分割字符串/C++
这里写自定义目录标题C++分割字符串C++分割字符串#include<iostream>#include<string>using namespace std;int main(){ string s; getline(cin, s, ' ');//主要部分 cout << s << endl; system("pause"); return 0;}主要是getline这个函数来实现的。从cin输入数据读入s中,第三个参数以’ '转载 2020-10-21 21:04:12 · 75 阅读 · 0 评论