- 博客(54)
- 收藏
- 关注

原创 【C++入门基础/STL基础容器】万字长文带你了解C++STL库中的list的常用函数及其模拟实现(内含深浅拷贝、迭代器、反向迭代器等超多内容)
list表示的是一个双向带头循环链表,允许在常数范围内的任意位置进行插入和删除,且前后可以进行双向迭代。其缺陷和链表一样就是不能支持随机访问(下标访问),但是在任意位置进行插入的效率更高。
2022-10-24 07:00:00
1692
12
原创 【刷题笔记】牛客网面试101必刷题刷题笔记(2)二分查找/排序部分
本文主要介绍的是牛客网面试必刷101里的二分查找/排序的所有题目的解析和答案,题号从BM17-BM22,希望给正在刷题的大家带来一些思路和灵感。
2023-07-09 09:00:00
480
原创 【刷题笔记】牛客网面试必刷101刷题笔记(1)
本文主要介绍的是近期刷的一些题的思路和解题过程及代码,今天为大家带来的是面试101的链表题目,也是BM1 - BM16 的所有题目,希望大家看的开心,复习愉快!
2023-07-07 16:20:47
656
原创 【二叉树复习】C++ 二叉树复习及题目解析 (1)
本文将从二叉树的定义和性质以及常用结论出发,来复习关于二叉树的相关知识。最后再贴上相关二叉树题目和解析,来帮助大家更好的复习二叉树。
2023-07-06 12:09:55
362
原创 【链表复习】C++ 链表复习及题目解析(1)
链表在面试题和笔试题中出现的频率相当的高,所以我们应该着重的复习链表和经典的链表相关题目。本文主要介绍链表的结构和分类以及相关题目(1)
2023-06-12 09:00:00
736
原创 【C++复习】继承
继承多态和封装是面向对象编程的三大特性,其重要性不言而喻。本文介绍了在C++中,什么是继承,继承的定义格式,继承类的赋值转换,继承中的作用域,派生类的默认成员函数,菱形继承等知识点。
2023-03-15 09:00:00
274
原创 【c++复习】动态内存管理
本文主要介绍C++和C语言中的动态内存开辟和销毁接口,以及malloc与new,free 与delete 之间的区别,什么是内存泄漏,内存泄漏的危害,内存泄漏的防范手段等。
2023-03-13 09:00:00
341
原创 【C++复习】实现一个简单的string类【C++面试小题】
本文介绍了如何简单的实现一个string类,即不考虑增删,只考虑资源的申请和释放的string类。
2023-03-12 01:57:05
429
原创 【c++复习】C++的基础知识(常用关键字、缺省参数、函数重载、引用)
本文介绍了C++相关的基础知识,适合入门和复习的同学观看,主要的知识点包括常见的关键字如inline、auto、流插入流提取、命名空间、nullptr等,还有缺省参数、函数重载和引用的相关知识~
2023-03-10 19:00:55
513
原创 【C语言复习】程序的编译与链接
本文主要介绍C语言相关的程序编译和链接的过程,宏的定义,定义时的注意事项,宏的替换原则,宏和函数的区别,宏的使用和条件编译等知识。
2023-03-10 01:27:57
622
原创 【C++复习】类和对象全知识点总结
类和对象是在C++起始就讲的非常关键的一节,因为它介绍清楚了C与C++的不同点,即C面向过程,而C++面向对象。我们既然使用C++,就必须知道C++面向对象优越在什么地方,就必须知道类和对象相较于直接创建函数面向过程到底优秀在哪里。本文会从类的创建,类的6大默认成员函数等角度阐述清C++的类和对象。
2023-03-08 09:00:00
794
原创 【C语言复习】C语言中的自定义类型声明定义及内存计算
C语言中自定义类型,一般指的是结构体,枚举和联合,除此之外还有位段,本文系统阐述了这几种不同的自定义类型的声明、定义方法以及使用注意事项,并一一介绍了在内存中如何存储。
2023-03-07 00:23:54
618
原创 【C语言复习】C语言中的库函数使用及其实现(字符串及内存相关)
涉及到C语言关于字符串和内存相关的库函数的使用方法和注意事项,以及关键函数的设计模拟实现。
2023-03-05 00:12:57
650
原创 【C++入门基础】C++中的String的常用函数用法总结及其模拟实现
c语言中,字符串是以 '\0' 结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户自己管理,稍不留神可能还会越界访问。所以我们需要掌握c++中的string类。
2022-10-21 00:27:40
7212
1
原创 【C++入门基础】动态内存开辟和销毁(new和delete的使用及详解)
c语言内存管理方式在C++中可以继续使用,但有些地方就无能为力,而且使用起来比较麻烦,因此C++又提出了自己的内存管理方式:通过new和delete操作符进行动态内存管理。
2022-10-18 16:13:00
1608
1
原创 【C++入门基础】类和对象第二弹之类的认识并深入理解默认成员函数 (类和对象最全分享,默认成员函数、运算符重载、const成员及友元)
如果一个类中什么成员都没有,简称为空类。空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。默认成员函数:用户没有显式实现,编译器会生成的成员函数称为**默认成员函数。**> 这六个默认成员函数,特殊点非常多,后面会一一学习,如果我们不实现,编译器会自己生成一份。
2022-10-18 00:31:01
166
10
原创 【C++入门基础】类和对象第一弹之类的初识
- C语言是面向过程,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。 体现到代码层面就是函数/方法。- C++是**基于面向对象**的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。 关注类对象及类对象间的关系。 体现到代码层面就是类的设计及类之间的关系。 > 基于面向对象:可以面向对象和面向过程混编。 > 原因:C++兼容C。
2022-10-18 00:27:00
212
原创 【C++基础】C++入门篇之一篇博客带你看懂为什么学习C++,C语言和C++的主要区别
C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危机,20世纪80年代,计算机界提出了OOP(object oriented programming:面向对象)思想,支持面向对象的程序设计语言应运而生。
2022-10-15 14:01:30
539
原创 【数据结构基础/经典排序汇总】各类排序汇总第三弹之快速排序(快排)&归并排序&计数排序(编写思路加逻辑分析加代码实操,一应俱全的汇总)
快速排序是我们应用最优使用最广泛的排序之一,一般选择最左边/最右边做key,单趟排序的目标是:左边的值比key要小,右边的值比key大,key来到了正确的地方了。所以要求- 左边找到大,右边找小,都找到之后交换顺序,- 注意最左边做key值时,需要右边先走(此时左右相遇点比key小)。右边做key,左边先走(此时左右相遇点比key大)。- 左边和右边最终会相遇,相遇点跟左边的key位置的值要交换。
2022-10-13 16:40:45
337
原创 【数据结构基础/经典排序汇总】各类排序汇总第二弹之直接选择排序&堆排序&冒泡排序(编写思路加逻辑分析加代码实操,一应俱全的汇总)
【数据结构基础/经典排序汇总】各类排序汇总第二弹之直接选择排序&堆排序&冒泡排序(编写思路加逻辑分析加代码实操,一应俱全的汇总)
2022-10-13 16:36:19
228
原创 【数据结构基础/经典排序汇总】各类排序汇总第一弹之直接插入排序&希尔排序(编写思路加逻辑分析加代码实操,一应俱全的汇总)
直接插入排序是一种简单的插入排序法,基本思想就是:把带排序的记录按照关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列。
2022-10-12 23:42:57
144
原创 【数据结构基础/经典OJ题目】二叉树第二弹之二叉树的链式结构实现、基础堆接口函数的实现、基础OJ、IO试题的解答(编写思路加逻辑分析加代码实操,一应俱全的汇总)
普通二叉树的增删查改没有什么价值,因为用来存放数据太复杂了。它的价值在于在他的基础之上增加一些性质,才有意义,比如搜索二叉树,左子树的值都比父节点小,右子树的值逗比父节点大。最多可以查找高度次。->平衡搜索二叉树、AVLTree、红黑树 -> B树和huffman tree等不关注增删查改,关注递归遍历结构。学习这个是为了后面学习更有用的树打基础,同时很多oj题目结构普通二叉树。
2022-10-10 11:41:17
280
原创 函数栈帧的创建和销毁
本文浅述函数栈帧的创建和销毁。在我们前期的学习过程中,可能会遇到很多困惑比如,- 局部变量是怎么创建的?- 为什么局部变量是随机值?- 函数是怎么传参的?传惨的顺序是怎样的?- 形参和实参是什么关系?- 函数调用是怎么做的?- 函数调用结束后是怎么返回的?如果知道函数栈帧的创建和销毁后就都清楚了。在不同的编译器下,函数栈帧的创建和销毁稍有差异,但大体相同。
2022-10-08 22:53:51
163
原创 【数据结构基础/接口函数编写】二叉树第一弹之树和堆的概念和结构、基础堆接口函数的实现(编写思路加逻辑分析加代码实操,一应俱全的汇总)
树是一种非线性的数据结构,它是由n (n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。本文仔细介绍了树和堆的基础结构,并且用顺序表简要实现了堆。
2022-10-05 18:07:30
597
3
原创 【数据结构基础/接口函数编写】栈和队列之队列的概念和结构、基础队列接口函数的实现以及例题分析(编写思路加逻辑分析加代码实操,一应俱全的汇总)
队列:只允许在一段进行插入数据操作,在另外一段进行删除数据操作的特殊线性表,队列具有先进先出FIFO的特点。虽然顺序表和链表都适用于队列,但是我们可以发现链表明显更优,这是因为顺序表如果一端为队头,一端为队尾,我们需要进行挪动数组的操作,非常麻烦。接下来我们就用链表来实现一下队列。
2022-10-04 22:11:26
193
原创 【数据结构基础/接口函数编写】栈和队列之栈的概念和结构、基础栈接口函数的实现以及例题分析(编写思路加逻辑分析加代码实操,一应俱全的汇总)
栈是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一段成为栈顶,另一段称为栈底。栈中数据元素遵循先进后出(后进先出LIFO - last in first out)的原则。本文通过编写栈相关接口函数和例题讲解让大家更深层面地认识栈。
2022-10-04 22:06:00
305
原创 【数据结构基础/接口函数编写】双向链表之带头循环双向链表的基础接口函数功能的实现(编写思路加逻辑分析加代码实操,一应俱全的汇总)
双向链表也叫双向表,是链表的一种,它由多个结点组成,每个结点都由一个数据域和两个指针域组成,数据域(data)用来存储数据,其中一个指针域(next)用来指向其后继结点,另一个指针域用来指向前驱结点(prev指针)。链表的头结点的数据域不存储数据,指向前驱结点的指针域值为null,指向后继结点的指针域指向第一个真正存储数据的结点。
2022-10-04 09:43:50
222
原创 【数据结构基础/经典面试Oj题】单向链表经典Oj题目第二弹之环形链表(环形链表的证明加做题思路加逻辑分析加代码实操,一应俱全的汇总)
成环链表与不成环链表相比,有一个很明显的差异。成环链表中是不存在尾节点的。所有节点中的指针都是指向下一节点的。给定一个链表,判断链表中是否有环?给定一个链表,返回链表开始入环的第一个节点?
2022-10-03 16:23:11
194
原创 【数据结构基础/经典面试Oj题】单向链表经典Oj题目第一弹(做题思路加逻辑分析加代码实操,一应俱全的汇总)
链表经典oj面试题,做题思路加逻辑分析加代码实操,一应俱全的干货汇总。
2022-10-03 00:34:14
397
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人