![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
pingzishinee
这个作者很懒,什么都没留下…
展开
-
C++中多态由浅到深理解
文章目录多态怎么写多态多态的实现:by虚函数什么时候要声明为虚函数?虚函数的目的?虚函数virtual function的实现机制——虚函数表Virtual table为什么虚函数效率低?虚函数的入口地址和普通函数有什么区别? 简单一句话就是,操作接口表现出多种形态。严格的多态分为编译时多态(静态多态)和运行时多态(多态多态)。我们一般讲的多态都是运行时多态。本文讲的多态就是运行时多态。 ...原创 2019-12-11 20:22:32 · 727 阅读 · 0 评论 -
c++ STL重拾——stack使用
用法#include <stack>底层容器默认使用的是deque。stack提供了以下操作:入栈、出栈、判断栈空、访问栈顶、栈大小。stack s1;stack s2;入栈:s.push(x) 默认是不预设栈大小的出栈:s.pop() 注意出栈只是删除栈顶元素,并不返回该元素。其原型是value_type& top();另外需要自行判断堆栈是否为空,才可执行...原创 2019-03-19 17:02:32 · 213 阅读 · 0 评论 -
c++重拾 STL vector使用
vector标准库vector表示对象的集合,其中所有的对象类型都相同。有了vector就尽量不要用数组了。我在oj上做编程题时,用数组时就可能出现一些无法理解的错误,而仅仅把定义改成vector就完全没问题。定义,初始化操作熟悉增删查改。例子#include <iostream>#include <vector>using namespace std;...原创 2019-03-20 11:32:38 · 159 阅读 · 0 评论 -
c++重拾 STL之heap(堆)
头文件#include <algorithm>1、heap的四个函数:make_heap:建立堆push_heap:在堆中添加数据pop_heap:在堆中删除数据sort_heap:堆排序建立堆make_heap(_First, _Last, _Comp)_First, _Last:可以随机访问的迭代器/ 指针_Comp: 比较函数(仿函数)默认是建立最大堆的。...原创 2019-04-29 18:08:03 · 24164 阅读 · 3 评论 -
c++ STL String搜索操作及例子
6个不同的搜索函数查找s中args第一次出现的位置:s.find(args)在s中找args中任意一个字符第一次出现的位置:s.find_first_of(args)在s中查找第一个不在args中的字符:s.find_first_not_of(args)逆向搜索:查找s中args最后一次出现的位置:s.rfind(args)在s中找args中任意一个字符最后一次出现的位置:s.f...原创 2019-06-06 10:45:29 · 1666 阅读 · 0 评论 -
c++重拾STL之 队列:queue、deque
queue头文件#include<queue>queue模板类两个模板参数:一个是元素类型,一个是容器类型,容器类型默认为deque类型。1、定义queue对象:queue<int> q1;queue<BTNode*> q22、queue的基本操作入队: q.push(x); 入到队尾出队:q.pop(); 弹出队列第一个元素,**注意,pop...原创 2019-06-03 16:32:00 · 1853 阅读 · 0 评论 -
c++优先队列priority_queue,及其应用
头文件#include<queue>。它允许用户为队列中元素设置优先级,放置元素的时候不是直接放到队尾,而是放置到比它优先级低的元素前面,标准库默认使用 < 操作符来确定优先级关系。priority_queue与queue一样,也是从队尾添加元素,从队头删除元素。因元素放置顺序是按元素优先级来的,所以出队出的是最高优先级的元素。优先队列具有 最高优先级先出的行为特性。它的...原创 2019-06-03 21:45:54 · 1069 阅读 · 0 评论 -
c++读一行数字以换行结束,读一行句子以换行结束,读多行字符串
基础1、getchar()头文件#include<cstdio>中从标准输入读下一个字符。原返回int(如输入a,函数返回97)。2、getline()读入一行字符串,以换行结束。应用:实现输入1、读一行整数,以换行结束。便输出。输入: 10 20 30 80 70输出: 10 20 30 80 70#include <iostream>#includ...原创 2019-08-14 14:44:55 · 9531 阅读 · 1 评论 -
归并排序、快速排序c++实现
归并排序假定由小到大排。1、思想:分解:二分为左右两部分;递归地对两边归并:对左边归并,对右边归并合并:合并左右为一个。2、code:输入:660 90 50 30 20 40输出:20 30 40 50 60 90#include <iostream>#include <vector>using namespace std;//合并v[l...原创 2019-08-14 23:50:46 · 285 阅读 · 0 评论