7_【C++初阶】五、STL 简介
- 2024-10-02
- 6
- 0
- 0
- 24.6℃
「前言」文章的大致内容是对 STL 进行简单介绍。 一、什么是STL STL(standard template libaray-标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架 二、STL的版本 (1)原始版本 Alexander Ste
6_【C++初阶】四、模板初阶_ 函数模板,类模板
- 2024-10-02
- 14
- 0
- 0
- 25.4℃
「前言」文章的大致内容是对 C++ 的模板进行简单介绍。 一、泛型编程 首先看以下代码:如何实现一个通用的交换函数呢? void Swap(int& left, int& right)
{
int temp = left;
left = right;
right = temp;
}
5_【C++初阶】三、C++ 内存管理
- 2024-10-02
- 9
- 0
- 0
- 24.9℃
「前言」文章的大致内容是 C/C++内存分布的介绍。 一、C/C++内存分布 先看一下 C/C++中程序内存区域划分图 说明: 栈又叫堆栈--非静态局部变量/函数参数/返回值等等,栈是向下增长的。 内存映射段是高效的I/O映射方式,用于装载一个共享的动态内存库。用户可使用系统接口创建共享共享内存,做
4_【C++初阶】二、类与对象(三)_ static 成员,友元,内部类,匿名对象
- 2024-10-02
- 13
- 0
- 0
- 25.3℃
「前言」文章是关于C++的类和对象的。 一、再谈构造函数 1.1 构造函数体赋值 在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值 测试代码: class Date
{
public:
//构造函数
Date(int year, int<
3_【C++初阶】二、类与对象(二)_ 类的6个默认成员函数
- 2024-10-02
- 8
- 0
- 0
- 24.8℃
「前言」文章内容大致是类的 6 个默认成员函数。 一、类的6个默认成员函数 如果一个类中什么成员都没有,简称为空类 class Date {};
空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数 默认成员函数:用户没有显式实现,编译器会生成的成员函数称为默
2_【C++初阶】二、类与对象(一)
- 2024-10-02
- 3
- 0
- 0
- 24.3℃
「前言」文章的内容大致是类与对象。 一、面向过程和面向对象初步认识 C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。 C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成 比如:洗衣服这件事 ,面向过程是这样的,注重的是过程 面向对
1_【C++初阶】一、C++ 入门
- 2024-10-02
- 17
- 0
- 0
- 25.7℃
「前言」文章的内容大致是 C++ 入门介绍。 一、关于C++ 1.1 什么是C++ C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C 语言则不合适。 为了解决软件危机, 20世纪80年代, 计算机界提出了 OOP(objectorien
9_【排序算法】TopK 问题
- 2024-10-02
- 10
- 0
- 0
- 25.0℃
「前言」文章内容是关于 TopK 问题的讲解。 一、概念 TopK 问题是一类常见的算法和数据处理问题,其核心任务是从包含大量数据项的集合中找到前 K 个最大的元素或者前 K 个最小的元素。 这类问题在计算机科学和数据处理领域广泛存在,具有多种应用场景,如搜索引擎、推荐系统、各种排行榜等等。 解决
8_【排序算法】七、归并排序
- 2024-10-02
- 8
- 0
- 0
- 24.8℃
「前言」文章内容是排序算法之归并排序的讲解。 归并排序 1.1 原理 归并排序是一种有效的排序算法,采用分治法(Divide and Conquer)策略。它的基本思想是将数组分成两个子数组,分别对这两个子数组进行排序,然后将排序好的子数组合并在一起。 归并排序的步骤: 分解:将数组分成两半,递归地
7_【排序算法】六、快速排序补充:三指针+随机数法
- 2024-10-02
- 14
- 0
- 0
- 25.4℃
「前言」文章内容是对快速排序算法的补充,之前的算法流程细节多难处理,这里补充三指针+随机数法(递归),这个容易理解,在时间复杂度上也更优秀。 快排:三指针+随机数法 原理跟之前的一致,这里就不再解释,前面版本的细节太多,换成这个三指针很好。 传统的快速排序使用两个指针(一个指向当前序列的开始,另一个