
c++
奋斗的小跳蛙
仰望天空,脚踏实地。
展开
-
string的模拟实现
#pragma once#include<iostream>#include<cstring>using namespace std;#include<assert.h>//不用用free释放一段堆空间两次。因为可能释放完第一次后,操作系统把这块内存分配出去了,立即有释放会导致问题//创建一个类,编译器会默认生成六个函数//对空指针的解引用会照成异...原创 2020-04-30 14:07:46 · 149 阅读 · 0 评论 -
C++的类型转换
文章目录C语言中的类型转换缺点C++中的类型转换四种转换操作符详讲C语言中的类型转换缺点c语言中的类型转换的可视性比较差,所有的转换都是相同的写法,难以跟踪错误的准换C++中的类型转换标准C++为了加强类型转换的可视性,引用四种命名的强制类型转换操作符:static_cast . reinterpret_cast ,const_cast,dynamic_cast.四种转换操作符...原创 2020-04-28 18:32:55 · 162 阅读 · 0 评论 -
[C++] 算数运算(取余、取商)
主要分析除法运算符和求余运算符。除法运算符/主要用于对两个整数进行求商。并且商一律向0取整(即直接切除小数部分)求余运算符就比较复杂了如果m和n是整数且n非0,则表达式(m / n)* n + m % n 的求值结果与m相等如果m%n不等于0,则它的符号与m相同。除了-m导致溢出的特殊情况,其他时候(-m) / n = - (m / n)m / (-n) = -(m / n)m %...原创 2020-04-07 09:15:27 · 6767 阅读 · 0 评论 -
C++文件操作读与写
文件操作程序运行时的产生的数据都属于临时数据,程序一旦运行结束都会被释放,通过文件可以将数据持久化,c++中对文件操作需要包括头文件文件类型分为两种:1.文本文件 文件以文本的ASCII码形式存储在计算机2. 二进制文件 文件以文本的二进制形式储存在计算机中,用户一般不能直接读懂他们操作文件的三大类:. ofstream : 写文件. ifstre...原创 2020-03-26 16:59:44 · 242 阅读 · 0 评论 -
C++模板总结
模板的概念模板就是建立通用的模具,大大提高复用性。模板的特点. 模板不可以直接使用,它只是一个框架。. 模板的通用并不是万能。C++提供两种模板机制: 函数模板和类模板<一> 函数模板建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。template<typename T>函数声明或定义template 声明创建模...原创 2020-03-26 10:59:13 · 243 阅读 · 0 评论 -
位图源码实现
位图:就是用每一位存放某种状态,适用于海量数据,数据无重复场景,通常是用来判断某个数据存在不存在。#include<iostream>using namespace std;#include<vector>namespace leb { class bitmap { public: bitmap(size_t bitc) :m_bitc(bitc / 3...原创 2020-03-25 15:08:16 · 532 阅读 · 0 评论 -
AVL树
AVL树的概念:一棵AVL树或者是空树,或者是具有以下性质的二叉搜索树:它的左右子树都是AVL树它左右子树高度之差(简称平衡因子的绝对值不能超过1(-1/0/1))AVL树的旋转,调节平衡因子分为左旋,右旋,左右旋,右左旋。AVL树的代码实现及注释#pragma once#include <vector>#include <stack>name...原创 2020-02-14 13:26:12 · 131 阅读 · 0 评论 -
二叉搜索树
二叉搜索树概念二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:若它的左子树不为空,则左子树上所有节点的值都小于根节点的值若它的右子树不为空,则右子树上所有节点的值都大于根节点的值它的左右子树也分别为二叉搜索树例如、int a [ ] = {5,3,4,1,7,8,2,6,0,9};1.二叉搜索树的查找2.二叉搜索树的插入 a. 树为空,则直接插入....原创 2020-02-10 21:19:56 · 225 阅读 · 0 评论 -
STL关联式容器(二)
前面我们总结了map的用法,具体参考如下https://blog.youkuaiyun.com/qq_43735092/article/details/104246848接下来我们看看multimapmultimap是关联式容器,它按照特定的顺序,存储由key和value映射成的键值对<key, value>,其中多个键值对之间的key是可以重复的。. multimap在底层用二叉搜索树(红...原创 2020-02-10 16:46:00 · 134 阅读 · 0 评论 -
STL关联式容器(—)
1.关联式容器概念关联式容器也是用来存储数据的,与序列式容器不同的是,其里面存储的是<key, value>结构的键值对,在数据检索时比序列式容器效率更高。2.键值对用来表示具有一一对应关系的一种结构,该结构中一般只包含两个成员变量key和value,key代表键值,value表示与key对应的信息。SGI-STL中关于对键值对的定义:template<clas...原创 2020-02-10 16:30:17 · 230 阅读 · 0 评论 -
继承与派生总结
**继承和派生继承概念**继承:在定义一个新的类B时,如果该类与某个已有的类A相似,那么就可以把A作为一个基类,而把B作为基类的一个派生类派生类概念**派生类是通过对基类进行修改和扩充得到得的,在派生类中,可以扩充新的成员变量和成员函数.派生类一经定义后,可以独立使用,不依赖于基类.派生类拥有基类的全部成员函数和成员变量,不论是private,protected,public...原创 2019-10-06 16:05:30 · 1081 阅读 · 0 评论 -
string的方法及练习
废话不多说,直接上代码#include<iostream>#include<string>using namespace std;/*构造,拷贝和析构容量元素访问修改遍历迭代器特殊操作string::iterator it=s.begin() auto it =s.begin();while(it!=s.end()){cout<&l...原创 2019-09-14 09:48:25 · 111 阅读 · 0 评论