C++
依然有清风
通信咸鱼;图像处理渣渣;机器学习膜拜者
展开
-
约瑟夫环递归推导
约瑟夫环问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。通常解决这类问题时我们把编号从0~n-1,最后结果加1就是要求的解。约瑟夫问题递归公式推导过程:n个人(编号0~(n-1)),从0开始报数,报到(m-1)的退出,剩下的人 继续从0开...原创 2018-03-25 21:38:52 · 619 阅读 · 0 评论 -
如何退出while(cin>>a)
1.输入非该类型的字符2.判断输入是否为\n;while (cin >> str) { t.push_back(str); i++; if (cin.get() == '\n') //关键在这里,\n不能用双引号。。。 { break; } ...原创 2018-03-28 19:44:00 · 2198 阅读 · 0 评论 -
大端法,小端法,union
大端法与小端法计算机存储数据都是从低地址到高地址,如0x100到0x103存储,而大端法和小端法的区别就是存储数据时是取数据的低位存放在高地址还是高位存放在高地址。大端法:数据低位存放高地址。小端法:数据高位存放高地址。举个例子,现有一个int a,地址为0x12 34 56 78,从左向右是高位到低位对大端法而言,存放顺序是,12 34 56 78;对小端法而言,存放顺序是78 56 34 12...原创 2018-05-27 22:44:39 · 241 阅读 · 0 评论 -
金山WPS--C++面经
武汉金山,一共两面,两面都是问C++基础知识。一面:手写单例模式;struct和class的区别;如何删除vector的指定元素;四种智能指针;C++的封装继承和多态三种特性;多态如何实现的;一个类会默认生成的6个函数;冒泡排序;一个大文件,里面有很多种颜色,找出出现最多的10种颜色;vector,list,map的底层原理;手写重载拷贝构造函数;拷贝构造函数什么时候需要重载;多线程的同步和互...原创 2018-08-29 17:54:54 · 1416 阅读 · 0 评论 -
C++优先队列的重载(最小堆、最大堆)
C++优先队列默认是最大堆,所以如果我们要用到最小堆,就需要进行重载来使用。priority_queue的头文件是<queue>.1.less和greater,不利用struct进行重载。priority_queue<int, vector<int>, less<int>>s;//less表示按照递减(从大到小)的顺序插入元素prio...原创 2018-09-06 14:21:55 · 3998 阅读 · 0 评论 -
多态和虚函数
多态:多态性是允许你将父对象设置成为一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。--百度百科C++中,实现多态有以下方法:虚函数,抽象类,覆盖,...原创 2018-09-18 15:20:16 · 215 阅读 · 0 评论