
C++学习
文章平均质量分 94
weixin_39540045
这个作者很懒,什么都没留下…
展开
-
C++基本知识
一、标准库C++的标准库(Standard Library)是每一个C++编译器都必须支持的类型和函数的集合。 C++的标准库: 1. C标准程序库 2. I/O流 3. string 4. 国际化 5. 数值处理 6. 诊断支持以及标准模板库STL(容器、算法和迭代器)命名库和标准库 标准库内容众多,为避免命名冲突,标准库中的内容都被放入命名空间std中。 ...原创 2018-05-28 23:13:20 · 369 阅读 · 0 评论 -
string类之常用方法
string类的构造函数C++支持两种初始化形式:直接初始化和复制初始化。string(const char *s); //用char字符串s 初始化 直接初始化string(int n,char c); //用n个字符c初始化 直接初始化此外,string类还支持默认构造函数和复制构造函数,如:string s1;cout<<s1&l...原创 2018-05-31 21:49:50 · 238 阅读 · 0 评论 -
C++类型转换
string类型转换方法1:stringstream可以将string类型转换为整型、char数组类型#include &amp;lt;iostream&amp;gt;#include &amp;lt;sstream&amp;gt;#include &amp;lt;string&amp;gt;using namespace std;int main(){ string text=&am原创 2018-05-31 10:42:41 · 467 阅读 · 0 评论 -
C++数据结构之树
二叉树:1、 完全二叉树完全二叉树是一种特殊的二叉树,满足以下要求:1. 所有叶子节点都出现在 k 或者 k-1 层,而且从 1 到 k-1 层必须达到最大节点数; 2. 第 k 层可以不是满的,但是第 k 层的所有节点必须集中在最左边。需要注意的是不要把完全二叉树和“满二叉树”搞混了,完全二叉树不要求所有树都有左右子树,但它要求: 3. 任何一个节点不能只有右子树...原创 2018-05-30 20:41:28 · 389 阅读 · 0 评论 -
C++堆的实现
堆是一个完全二叉树。 堆根据元素的排列方式,可以分为最大堆(max-heap)和最小堆(min-heap),其中:最大堆:是最大的完全二叉树,其每个节点的值都大于或等于其子节点。所以在最大堆中,根结点是该完全二叉树的最大结点。最小堆:是最小的完全二叉树,其每个节点的值都小于或等于其子节点。所以在最小堆中,根结点是该完全二叉树的最小结点。堆并不归属于STL库容器组件,而是作为...原创 2018-05-30 09:58:48 · 1508 阅读 · 0 评论 -
C++ STL的实现
转载自:https://blog.youkuaiyun.com/huutu/article/details/32406829 C++ STL 的实现: 1.vector 底层数据结构为数组 ,支持快速随机访问 2.list 底层数据结构为双向链表,支持快速增删 3.deque 底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访...转载 2018-05-30 08:31:21 · 541 阅读 · 0 评论 -
C++优先队列的使用
优先队列(priority queue)亦即数据结构中的堆,是计算机科学中一类特殊的数据结构的统称。在队列中,调度程序反复提取队列中第一个作业并运行,因而实际情况中某些时间较短的任务将等待长时间才能结束,或某些不短小,但具有重要性的作业,同样应当具有优先权。优先队列即为解决此类问题设计的一种数据结构。优先队列(堆)通常是一个可以被看做一棵树的数组对象。优先队列中的常用函数:empty() ...转载 2018-05-30 08:10:31 · 6773 阅读 · 0 评论 -
STL sort排序算法详细介绍
用于C++中,对给定区间所有元素进行排序。头文件是#include &amp;lt;algorithm&amp;gt; 时间复杂度为n*log2(n)Sort函数有三个参数:第一个是要排序的数组的起始地址。第二个是结束的地址(最后一位要排序的地址的下一地址)第三个参数是排序的方法,可以是从大到小也可是从小到大,还可以不写第三个参数,此时默认的排序方法是从小到大排序。Sort函数使...原创 2018-05-30 07:57:49 · 18171 阅读 · 0 评论 -
C++ 竞赛常用的头文件
//常用的头文件#include &amp;amp;amp;amp;lt;algorithm&amp;amp;amp;amp;gt; //通用算法#include &amp;amp;amp;amp;lt;cctype&amp;amp;amp;amp;gt;#include &amp;amp;amp;amp;lt;cmath&amp;amp;amp;amp;gt;#include &原创 2018-05-29 12:56:23 · 7778 阅读 · 0 评论 -
STL C++ string类不能使用memcpy,memset等一序列内存操作
前言memset,memcpy在C语言中,经常需要对内存进行操作,里面涉及到很多函数,但是memset函数的使用需要注意。 函数原型: void *memset(voidd *s, int ch, size_t n); 函数功能是:将s所指向的某一块内存中的前n个字节的内容全部设置为ch指定的ASCII值, 第一个值为指定的内存地址,块的大小由第三个参数指定,这个函数通常为新申请的内存做...原创 2018-05-29 12:44:07 · 2144 阅读 · 0 评论 -
C++直接初始化与拷贝初始化学习笔记
初始化分为两种 1. 直接初始化:使用单个构造函数(可能是转换构造函数)来初始化对象,形式如“T t(u)”。 2. 拷贝初始化:使用拷贝构造函数来初始化对象,有必要的话会在此之前,先调用一个用户自定义的类型转换,形式如“T t=u”。注意:一般而言,在变量初始化时,尽量采用直接初始化形式,而不是拷贝初始化。class T : public S {...转载 2018-05-31 22:00:50 · 3538 阅读 · 2 评论