c++随笔

来源:互联网 发布:访问虚拟机nginx失败 编辑:程序博客网 时间:2024/06/05 05:17

闲来无事写几个常用在面试中遇到的功能函数


1.剔除字符串其它与字符串无关符号,只保留字符和数字

void trim(std::string& s){std::vector<char> v;for (const auto& c : s){if (isalnum(c)){v.push_back(c);}}s.replace(s.begin(), s.end(), v.begin(), v.end());}

2.atoi的实现

int a2i(const char* str){int os = 1;auto p = str;while (isspace(*p)) { p++; }if (*p == '+'){p++;}else if (*p == '-'){os = -1;p++;}int v = 0;while (isdigit(*p)){ v = v*10+(*p++ - '0'); }return os*v;}
3.冒泡排序,一样也是面试经常遇到的

void pop_sort(std::vector<int>& vs){auto sz = vs.size();for (int i = 0; i < sz; i++){for (int j = i+1; j < sz; j++){if (vs[i] > vs[j]){auto t = vs[i];vs[i] = vs[j];vs[j] = t;}}}}

4.字符串反序

char* fsort(char* src){char* h = src;char* l = h + strlen(src)-1;for (; h < l; h++,l--){auto t = *h;*h = *l;*l = t;}return src;}



原创粉丝点击