
C++
Xurui_Luo
这个作者很懒,什么都没留下…
展开
-
C++ map哈希表的各种操作
遍历for(auto& e: memo) cout<<e.first<<endl;排序大到小自定义结构体#include <map> #include <string>#include <iostream>using namespace std; int main(){map<string, int, greater<string>> student;mapStudent [ ".原创 2021-03-10 01:16:17 · 593 阅读 · 0 评论 -
C++ char转string 直接转换要注意的
正确char a[] = "123";string obj_str;obj_str = a;-错误- 二三行不能直接写char a[] = "123";string obj_str = a;原创 2020-12-13 16:58:26 · 183 阅读 · 0 评论 -
Leetcode 986. Interval List Intersections 区间交集 双指针
class Solution {public: vector<vector<int>> intervalIntersection(vector<vector<int>>& A, vector<vector<int>>& B) { int i=0, j=0; vector<vector<int>> res; while(i<A.size原创 2020-09-13 00:28:41 · 144 阅读 · 0 评论 -
C++ vector合集
vector 最后一个元素vector.back()vector.rbegin()原创 2020-09-12 00:17:30 · 242 阅读 · 0 评论 -
C++ 报错EXC_ARITHMETIC (code=EXC_I386_DIV, subcode=0x0))
肯定碰到分母为0了原创 2020-08-11 20:49:14 · 599 阅读 · 0 评论 -
C++ vector初始化,二维
vector<vector<int>> vec={ {0, 1, 2, 3} , /* 初始化索引号为 0 的行 */ {4, 5, 6, 7} , /* 初始化索引号为 1 的行 */ {8, 9, 10, 11} /* 初始化索引号为 2 的行 */ };int row = vec.size();int col = vec[[0].size();...原创 2020-08-08 15:01:40 · 322 阅读 · 0 评论 -
C++ string 常见用法
#include <iostream>#include <cstring>using namespace std;int main(){ string s = ""; char a = '1'; // 指定位置插入元素 s.insert(0, 1, a); s.insert(0, 1, '1'); s.insert(0, 1, '0'); cout<<s<<endl; // 011原创 2020-08-07 14:57:32 · 142 阅读 · 0 评论 -
报错的可能原因terminate called after throwing an instance of ‘std::logic_error‘ what(): basic_string::_M
terminate called after throwing an instance of 'std::logic_error' what(): basic_string::_M_construct null not valid空指针可能某个类型有问题,比如让你return string类型,结果返回成了inte.g. return “0”; 写成了 return 0;...原创 2020-08-07 14:35:25 · 13807 阅读 · 0 评论 -
C++冒泡排序,函数传递实参技巧
#include <iostream>#include <vector>using namespace std;// 注意这里在参数中,vector是引用,因此在该函数内,可以直接对main函数中的数组进行修改void swap(vector<int>& v, int i, int j){ int tmp = v[i]; v[i] = v[j]; v[j] = tmp;}int main(){ vector&l原创 2020-08-03 00:26:49 · 263 阅读 · 0 评论 -
C++ vector判空技巧
输入是vector<string>& ss.empty() || s[0].empty()vector<vector<int>> qq.empty() || q[0].empty()原创 2020-08-02 00:11:57 · 4356 阅读 · 0 评论 -
如何用CLion快乐刷题,避免CMakeLists.txt 文件带来的,建立cpp文件无法编译运行的痛苦
在CMakeLists.txt文件中添加如下即可,记得要重新载入# 遍历项目根目录下所有的 .cpp 文件file (GLOB_RECURSE files *.cpp)foreach (file ${files})string(REGEX REPLACE ".+/(.+)\\..*" "\\1" exe ${file})add_executable (${exe} ${file})message (\ \ \ \ --\ src/${exe}.cpp\ will\ be\ compiled\.原创 2020-08-01 23:19:23 · 1755 阅读 · 3 评论 -
C++对二维vector或数组,按照某一维度排序,Leetcode中的写法
// C++ code to demonstrate sorting of a // 2D vector on basis of a column #include<iostream> #include<vector> // for 2D vector #include<algorithm> // for sort() using namespace std; // Driver function to sort the 2D vector // on原创 2020-07-24 23:49:46 · 1125 阅读 · 0 评论 -
C++ resize定义vector大小
例子vector<vector<int>> vec;vec.resize(a, vector<int>(b,0); //初始化为0代码中的应用一般在私有变量中声明,在主函数中resize,这样在私有函数中就可以直接使用了class Solution {public: int superEggDrop(int K, int N) { memo.resize(K+5, vector<int>(N+5, 0));原创 2020-07-23 01:01:15 · 625 阅读 · 0 评论 -
C++ 遍历二维vector
输入#include <iostream> #include <vector> // for 2D vector using namespace std; int main() { // Initializing 2D vector "vect" with // different number of values in each // row. vector<vector<int> > vect{ {原创 2020-07-21 09:38:34 · 4563 阅读 · 0 评论 -
C++报错error cannot deduce type of initializer list because initializer list was not found include
完整错误: error: cannot deduce type of initializer list because std::initializer_list was not found; include<initializer_list>问题发现在list上, 如:#include <iostream>using namespace std;int main(){ for(auto k: {1, 2, 3}) cout<< k<<.原创 2020-06-15 10:16:01 · 1305 阅读 · 0 评论 -
C++ 最大堆最小堆的创建与应用
#include <iostream>#include <queue>#include <initializer_list>using namespace std;int main(){ //建堆 priority_queue<int, vector<int>, greater<int> > minheap; priority_queue<int, vector<int>, less<int&原创 2020-06-15 10:07:47 · 779 阅读 · 0 评论 -
C++编译报错 non-aggregate cannot be initialized with an initializer list
问题出在g++编译的标准上。Mac的编译器默认是只支持C++98的标准的因此,系统不出错的方法就是更换标准,具体方法如下:g++ a.cpp 改为 g++ -std=c++11 a.cpp如果觉得这样很繁琐,可以直接将该命令简化为g++:echo "alias g++='g++ -std=c++11'" >> ~/.bash_profile"这样以后输入g++就相当于输入g++ -std=c++11 a.cpp了...原创 2020-06-15 00:08:56 · 7376 阅读 · 0 评论 -
C++ vector 最大值和最大值的位置
#include <iostream>#include <vector>#include <algorithm>using namespace std;int main(){ vector<int> a = { 2,4,6,7,1,10,24,8,9,6,3,2 }; vector<int>::iterator maxPosition = max_element(a.begin(), a.end()); cout原创 2020-06-14 19:37:55 · 1771 阅读 · 0 评论