![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
_大雄
可是我没哆啦A梦呀!
展开
-
c++11 之emplace_back 与 push_back的区别
转载:https://blog.csdn.net/p942005405/article/details/84764104c++开发中我们会经常用到插入操作对stl的各种容器进行操作,比如vector,map,set等。在引入右值引用,转移构造函数,转移复制运算符之前,通常使用push_back()向容器中加入一个右值元素(临时对象)时,首先会调用构造函数构造这个临时对象,然后需要调用拷贝构造函数...转载 2020-03-25 10:06:55 · 217 阅读 · 0 评论 -
vector的push_back拷贝构造和空间占用分析
本文同步自:http://zohead.com/archives/vector-push-back-space-copy/这两天在实际程序中使用 STL 的 vector push_back 类对象时出现问题,偶尔发现 vector 在 push_back 时的调用类对象的...转载 2020-03-12 21:08:06 · 505 阅读 · 0 评论 -
C++中cin和getline一起使用出错的解决方法
今天下午,在做题的时候,碰到了这个问题。。。一个很简单的string字符串解决的题,很容易想,但是最后却卡在那里了,一直出错,拿到本地调试才发现问题,就是cin和getline函数一起使用时造成的错误。代码框架大概是这样的:int main(){ int n; while (cin >> n) { string str; for (int i = 0; i &l...原创 2020-03-05 15:31:44 · 2597 阅读 · 1 评论 -
199. 二叉树的右视图
给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例:输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释:1 <—/ 2 3 <—\ 5 4 <—来源:力扣(LeetCode)链接:https://leetco...原创 2020-01-29 15:29:34 · 121 阅读 · 0 评论 -
正数数组的最小不可组成和
链接:https://www.nowcoder.com/questionTerminal/f5368cd8008d41f58b2da7ced2f4d809来源:牛客网给定一个正数数组arr,其中所有的值都为整数,以下是最小不可组成和的概念把arr每个子集内的所有元素加起来会出现很多值,其中最小的记为min,最大的记为max在区间[min, max]上,如果有数不可以被arr某一个子集相加得...原创 2019-12-20 17:00:15 · 157 阅读 · 0 评论 -
[编程题]迷宫问题
链接:https://www.nowcoder.com/questionTerminal/cf24906056f4488c9ddb132f317e03bc来源:牛客网定义一个二维数组N*M(其中2<=N<=10;2<=M<=10),如5 × 5数组下所示:int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0...原创 2019-12-03 16:21:34 · 904 阅读 · 0 评论 -
[编程题]字符串通配符
链接:https://www.nowcoder.com/questionTerminal/43072d50a6eb44d2a6c816a283b02036来源:牛客网问题描述:在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。现要求各位实现字符串通配符的算法。要求:实现如下2个通配符:*:匹配0个或以上的字符(字符由英文字母和数字0-9组成,不区分大小写。下同...原创 2019-11-28 12:34:47 · 327 阅读 · 0 评论 -
[编程题] iNOC产品部-杨辉三角的变形
链接:https://www.nowcoder.com/questionTerminal/8ef655edf42d4e08b44be4d777edbf43来源:牛客网11 1 11 2 3 2 11 3 6 7 6 3 11 4 10 16 19 16 10 4 1以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数,...原创 2019-11-25 10:04:08 · 158 阅读 · 0 评论 -
【详解】C和C++中static关键字的区别
C语言中:static关键字可以 1.修饰变量 变量又分为全局变量和局部变量。 (1).修饰全局变量 作用域仅限于变量被定义的文件中,其他文件即使用extern 声明也没法使用此变量。 (2).修饰局部变量 在函数内定义的局部变量被修饰,可以延长变量的生命周期,但是作用域不变。 2.修饰函数 和修饰全局变量的效果类似,表明函数的作用域仅限于被定义...原创 2019-11-17 21:52:18 · 630 阅读 · 0 评论 -
详解malloc/free和new/delete的区别
malloc/free和new/delete的区别malloc/free1.C标准库中的函数 2.Void*-->强转 3.参数:手动计算字节数 4.申请失败->判空 5.malloc申请空间的同时不能初始化空间内的元素6.malloc:申请空间但不会调用构造函数 7.free:释放空间但不会调用析构函数 8.申请的空间在堆上 ...原创 2019-11-14 13:36:56 · 314 阅读 · 0 评论 -
C++日期类
写了个日期类,大家看看吧。。。头文件Date.h#pragma onceclass Date{ //重载输入输出操作符 friend ostream& operator<<(ostream& _cout, const Date& d); friend istream& operator>>(istream& _cout,...原创 2019-11-13 00:47:32 · 336 阅读 · 0 评论 -
C中const和C++中const的区别和用法
C中的constC语言中的const可以用来修饰变量,用const修饰的变量为常变量,本质还是变量,只不过具有常属性。#include<stdio.h>int main(){ const int a = 10; int arr[a] = {0};//报错,数组[]内的表达式应为常量值 return 0;}经过const修饰变量的内容不允许被修改,但是可以通过指针的方...原创 2019-11-03 17:39:03 · 338 阅读 · 0 评论 -
this指针
1.this指针class Student{public: void Init(const char* name, int age) { strcpy(_name, name); _age = age; } void Print() { cout << _name << " " << _age << endl; }pr...原创 2019-11-02 00:37:04 · 81 阅读 · 0 评论 -
引用及指针和引用的区别
一.在C语言中,我们要给函数传参,有两种方法。1.传值void Swap(int a,int b){ int tmp=a; a=b; b=tmp;}int main(){ int a=10; int b=20; Swap(a,b); return 0;}优点:形参不影响实参(保护实参),可读性强。缺点:不能通过形参改变实参,效率低(需要用实参拷贝形参)。2.传地...原创 2019-10-31 18:05:20 · 751 阅读 · 1 评论 -
C++中的缺省函数和函数重载
一,缺省函数1.概念:缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的实参。void TestFunc(int a = 10)//函数参数a默认是10{ cout << a << enl;}int main(){ TestFunc();//a=10 TestFunc(100);//a=10...原创 2019-10-31 17:06:08 · 425 阅读 · 0 评论 -
c++标准库中为什么把list设计为带头节点的双向循环链表?
c++标准库中为什么把list设计为带头节点的双向循环链表?在c++标准库中list被设计为带头节点的双向循环链表。1.为什么是带头节点?我们在使用list创建一个对象时,比如list< int > L(4,3),此时链表中含有4个为3的元素,那么我们如果想要遍历这个链表时需要利用迭代器(正向或者反向迭代器),迭代器一般规定为(左闭右开)[)的区间范围,那么在链表中begin在...原创 2019-05-03 22:57:51 · 887 阅读 · 0 评论 -
C++ STL中map.erase(it++)用法原理解析
出处:https://blog.csdn.net/liuzhi67/article/details/50950843之前在代码中使用map::erase函数时,误搬了vector::erase的用法,导致Server down掉了,好在在测试环境就及时发现了问题,在上线前进行了补救==。 以下总结一下map::erase的正确用法。 首先看一下在循环中使用vector::erase时我习惯的...转载 2019-05-04 00:13:49 · 281 阅读 · 0 评论 -
给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。
给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。示例 :输入: [1,2,1,3,2,5]输出: [3,5]注意:结果输出的顺序并不重要,对于上面的例子, [5, 3] 也是正确答案。你的算法应该具有线性时间复杂度。你能否仅使用常数空间复杂度来实现?说一下我解决这个题的思路吧,本来拿到这个题,想到的是先给数组排个序,比如...原创 2019-05-13 22:53:36 · 3991 阅读 · 2 评论 -
组队竞赛
组队竞赛链接:https://www.nowcoder.com/questionTerminal/6736cc3ffd1444a4a0057dee89be789b?orderByHotValue=1&page=1&onlyReference=false来源:牛客网牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一共组成...原创 2019-05-21 18:13:27 · 360 阅读 · 0 评论 -
字符串相乘
字符串相乘给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = “2”, num2 = “3”输出: “6”代码:class Solution{public: string addStrings(string num1, string num2) { int len1 ...原创 2019-07-03 18:18:31 · 663 阅读 · 0 评论 -
查找两个字符串a,b中的最长公共子串
链接:https://www.nowcoder.com/questionTerminal/181a1a71c7574266ad07f9739f791506来源:牛客网查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。输入描述:输入两个字符串输出描述:返回重复出现的字符示例1输入abcdefghijklmnopabcsafjklmnopqrstuvw...原创 2019-08-01 23:21:03 · 248 阅读 · 0 评论 -
反转链表 II
题目:反转链表 II反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤ m ≤ n ≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL来源:力扣(LeetCode)链接:https://leetcode-cn.com...原创 2019-09-07 12:08:34 · 72 阅读 · 0 评论 -
147. 对链表进行插入排序
题目:对链表进行插入排序插入排序算法:插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。重复直到所有输入数据插入完为止。示例 1:输入: 4->2->1->3输出: 1->2->3->4示例 2:输入: -1->5-&...原创 2019-09-08 10:15:28 · 120 阅读 · 0 评论 -
c++模板
一,泛型编程先来看一个问题:写一个通用的加法函数,适用任何类型?看到这个问题,我们首先想到的是函数重载;int ADD(int a, int b){ return a + b;}double ADD(double a, double b){ return a + b;}char ADD(char a, char b){ return a + b;}int m...原创 2019-04-05 00:22:59 · 87 阅读 · 0 评论