C++学习笔记
ThetaQing
我不懒
展开
-
【LeetCode】常更~
引言LeetCode一、初级算法第一部分,初级算法,主要是入门级练习,其中包括初级算法模块、链表模块、二叉树模块。1.1 数组:basic_algorithm_array.cpp这部分是初级算法模块的数组练习内容.主要包括:26、从排序数组中删除重复项122、买卖股票的最佳时机 II189、旋转数组217存在重复元素136、只出现一次的数字350、两个数组的交集 II66...原创 2019-12-28 19:48:16 · 249 阅读 · 0 评论 -
【C++】数组与矩阵
文章目录一、数组二、矩阵2.1 普通矩阵2.2 特殊矩阵近两天看《数据结构》,总结一下数组与矩阵这部分的内容一、数组一个数组的每一个实例都是形如(索引,值)的数对集合,其中任意两个数对的索引都不相同。有关数组的操作如下:取值——对一个给定的索引,取对应数对中的值;存值——把一个新数对加到数对集合中。如果已存在一个索引相同的数对,就用新数对覆盖。简而言之,就是索引和值构成的数对的...原创 2019-12-25 17:24:16 · 2048 阅读 · 0 评论 -
【C++】高级编程——易忘知识点
C++高级编程要点一 C++文件和流这里主要介绍如何从文件读取流和向文件写入流,标准库为fstream,它定义了三个数据类型:在C++中进行文件处理,就必须包含头文件<iostream> <fstream>。1.1 打开文件在从文件读取信息或者向文件写入信息之前,必须先打开文件。ofstream和fstream对象都可以用来打开文件进行写操作,ifstream对...原创 2019-11-27 21:35:26 · 351 阅读 · 0 评论 -
【数据结构】链表应用——箱子排序
见识短浅的我长知识了小结让链表的get、insert、erase等费时的操作在程序中时间复杂度仅有O(1)!!!。说明,以后凡是要遍历一个链表类型的,更宽泛地讲,是有指针索引的,都在它的首端进行操作!!!#include <iostream>#include "bin_sort.h"#include "linear_list.h"using namespace std;/...原创 2019-11-17 22:08:40 · 321 阅读 · 0 评论 -
十大经典排序算法小结(附源码和菜鸟版注释)
序在十大经典排序算法(动画演示)这篇博客的指导下,博主一点一点码出了十大排序算法,并写了菜鸟级注释,源码戳这里,下面记录一下自己的总结,基本上是从注释搬来的。排序算法主要分两类,一类是比较类排序,一类是非比较类排序。一、比较类排序如题,比较类排序算法和核心在于比较,只是比较的方法不一样,主要有交换排序:即通过数与数之间地交换如冒泡排序和快速排序。冒泡排序:通过相邻两个数之间的...原创 2019-11-07 20:51:22 · 410 阅读 · 0 评论 -
【算法】递归式的时间复杂度小结
注:仅分析递归式,没有将简单for循环的分析涵盖在内一、代入法1、猜2、证3、解举例:T(n) = 4T(n/2) + n, T(1) = Θ(1)第一次猜: ·O(n^3)则有:T(k) ≤ ck^3 for k < n.数学归纳法证明:T(n) ≤ cn^3第二次猜O(n^2)T(n)=4T(n/2)+n ≤4 c(n/2)2 +n=cn2+n ...原创 2019-11-05 10:49:56 · 1844 阅读 · 0 评论 -
【C++】查找
一 二分查找二分查找是比顺序查找效率高的一种查找算法,但它只适用于有序的数据集。原创 2019-10-07 20:39:42 · 683 阅读 · 0 评论 -
【C++】资源库
一 C++STC教程C++ STC(标准模板库)时一套功能强大的C++模板类,提供了通用的模板类和函数。C++ STC的核心包括以下三个组件:组件描述容器容器时用来刮玻璃某一类对象的集合。C++提供了各种不同类型的容器,如deque,list,vector,map。算法算法作用于容器,它们提供了执行各种操作的方式,包括对容器内执行初始化、排序、搜索和转换等操作。...原创 2019-10-07 16:05:30 · 329 阅读 · 0 评论 -
【C++】C++高级编程二
一 C++预处理器预处理器是一些指令,指示编译器在实际编译之前所需要完成的预处理。所有的预处理器指令都是以#开头,只有空格字符可以出现在预处理指令之前,不会以分号结尾。1.1 # define预处理#define预处理指令用于创建符号常量,通常称为宏。# define macro-name replacement-text1.2 函数宏使用#define定义一个嗲有参数的宏。1.3...原创 2019-10-07 14:42:49 · 439 阅读 · 0 评论 -
【C++】面向对象的编程——易忘知识点
C++编程语言学习易忘知识点整理一、 类1.1 C++类访问修饰符public 类外可以通过.访问private 只有类和友元函数可以访问,默认设置protect 派生类(即子类)可以访问1.2 类成员函数除了可以定义在类定义内部,还可以通过::定义在类外<返回类型> <类名>::<函数名>(函数参数列表){<函数体>}...原创 2019-09-30 21:09:17 · 411 阅读 · 0 评论 -
【数据结构】图
图图结构可以分为有向图和无向图,常见地表示方法有数组表示法、邻接表、十字链表和邻接多重表,遍历地方式有两种,一种是深度优先遍历,另一种是广度优先比遍历。1.1 什么是图每个数据元素称为顶点,在有向图中,从V1到V3称为一条弧,V3到V1是另一条弧,V1称为弧尾,V3称为弧头。在无向图中,从V 1到V3称为一条边。有n个顶点,1/2n(n-1)条边地无向图称为完全图,有n(n-1)条弧地有...原创 2019-09-18 08:52:46 · 644 阅读 · 0 评论 -
【数据结构】非线性结构--树
一、基本概念1、树由很多节点组成,最上面的节点称为数的根。2、节点拥有的直接子节点数称为节点的度;3、度为0的节点称为叶子;4、树的度是所有节点的度中的最大值;5、一个节点的直接子节点称为它的孩子,相应的称为双亲,相同双亲的孩子节点互称为兄弟;6、一个节点的祖先是从根到该节点所经过的所有节点;7、一个节点下的所有节点称为该节点的子孙;8、树有层次之分,根记为第一层,以此类推;9、...原创 2019-09-11 21:49:00 · 530 阅读 · 0 评论 -
C++编译错误、运行错误、链接错误小结
一、 运行错误运行错误是什么运行错误是指代码逻辑无措,由于编译器无法发现运行时错误,这些错误往往是在程序运行时以五花八门的形式表现出来。(1)WindowsXP错误报告(2)内存不能为Read/Written(3)非法操作(4)Debug错误主要产生的原因考虑不周或输入错误导致程序异常比如数组越界访问,除数为零,堆栈溢出。程序设计思路的错误导致程序异常或难以得到预期的效果比...原创 2019-09-11 19:29:24 · 8521 阅读 · 1 评论 -
【数据结构】线性表、栈、队列
线性表线性表是一个含n>=0个结点的有限序列,对于其中的结点,有且仅有一个开始结点没有前驱但有一个后继结点,有且仅有一个开始结点没有后继但有一个前驱结点,其他结点都有且仅有一个前驱和一个后继结点。分类数据元素在内存中集中存储,采用顺序表示结构,简称“顺序存储”数据元素在内存中分散存储,采用链式表示结构,简称“链式存储”...原创 2019-09-06 22:25:20 · 278 阅读 · 0 评论 -
标准库类型string、vector、迭代器
头文件声明及命名空间# include <string>using std::string;注意:字符串字面值和string是不同的类型。范围for语句for(declaration : expression) statement expression 部分是 一个对象,表示一个序列;declaration定义一个变量,该变量将被用于访问序列中的基础元素;每次...原创 2019-09-02 21:40:46 · 181 阅读 · 0 评论 -
C++学习笔记(二)变量与数据类型
一、基本数据类型1、C++ 数据类型所占的长度和位数可寻址的最小内存块成为“字节(byte)”,存储的基本单元称为“字(word)”,大多数机器的字节都是由8个比特(bit)构成,字是由32bit或者64bit构成。1 word = 4 byte = 32 bit1 word = 8 byte = 64 bit**备注:**字符型尽管有三种,但是字符的表现形式却只有两种,有符号和无符号...原创 2019-08-11 19:52:35 · 180 阅读 · 0 评论 -
C++学习笔记(一)命名原则和常用术语表
说明尽可能使用描述性的命名1.文件命名规则文件名全部小写,可以含下划线或连字符,按项目约定命名,且尽量保证文件名明确。比如:cmd_save_player_info_class.cc my_use_full_class.cc定义类的文件名一般是成对出现,如:foo_bar.h foo_bar.cc若是类中含大量内联函数,我们还可使用-ini.h文件,使之文件内容更加清晰,于是又如:u...原创 2019-08-01 09:50:55 · 354 阅读 · 0 评论