编程
AlexMercer1012
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[前端]1.html基础
HTML是用于构建网页的超文本标记语言,通过标签定义内容结构。文章介绍了HTML的基本概念、文件结构、常见文本标签(如标题、段落、列表、表格)、元素属性(class、id等)以及区块元素(块级与行内元素)的区别。最后讲解了表单元素的使用方法,包括文本输入、单选/复选框和提交按钮,为网页开发提供了基础指导。全文系统性地介绍了HTML的核心知识点和基本应用。原创 2025-09-08 23:24:13 · 1318 阅读 · 0 评论 -
[数据结构笔记] 2. 链表 内含所有函数C语言代码,完全无伪代码
线性表链式存储结构的特点是: 用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。原创 2025-02-26 17:48:25 · 301 阅读 · 0 评论 -
[数据结构笔记]数据结构必要的C语言基础
数据结构必要的C语言基础使用C语言学习数据结构之前有一些必要了解的基础,许多同学在初学数据结构时因为对这些知识不熟,导致了对数据结构的畏惧心理。实际上很大一部分来自C语言的基础原创 2025-02-25 22:31:41 · 438 阅读 · 0 评论 -
[数据结构笔记] 1. 顺序表 内含所有函数C语言代码,完全无伪代码
用一组连续的内存单元依次存储线性表的各个元素,也就是说,逻辑上相邻的元素,实际的物理存储空间也是连续的。原创 2025-02-25 22:17:24 · 517 阅读 · 0 评论 -
一题学会Java入门语法(需C\C++基础)
1. for, while, if 用法同 c & c++ 2. **输出:** `System.out.print("");`3. **输出并换行:** `System.out.println();`4. **包声明:** `package homework1;` 1. **作用**:将类归入包`homework1`中,便于管理和组织代码。 2. **与C++的区别**:C++没有包的概念,而是使用命名空间(namespace)来组织代码。5. **导入库:** `import原创 2025-02-23 16:33:05 · 437 阅读 · 0 评论 -
Java 入门第一课 InteliJ IDEA 的快捷操作
1. 使用idea开发java程序的步骤是什么? - project ->module ->package -> class - projec t中可以创建多个module - module中可以创建多个package - package中可以创建多个class <br>2. 创建都是用哪个关键字 ? `New project/module/package/class`3. idea中的java程序是自动编译和执行的,那编译后的class文件在哪里? - 在工程路径下的 一个`o原创 2025-02-23 16:24:55 · 561 阅读 · 0 评论 -
[C++刷题]三题学会 前缀和 算法
一、问题本质分析 需求场景:需要快速响应大量区间求和查询暴力法缺陷:传统遍历求和时间复杂度O(n*m),当n和m都达到1e5时运算量达到1e10,必然超时 优化目标:将单次查询复杂度降至O(1),总时间复杂度优化为O(n+m) 二、前缀和核心思想 预处理阶段 构建sum数组:sum[i]表示前i个元素的和 递推关系:sum[i] = sum[i-1] + a[i] 初始化技巧:sum[0] = 0(作为基准值) 查询阶段 区间[l, r]和公式:sum[r] - sum[l-1]原创 2025-02-20 10:30:00 · 1037 阅读 · 0 评论 -
[C++刷题]三道暴力枚举 经典题 详解
解题思路 问题本质:在多个矩形中寻找最后一个覆盖目标点的矩形 暴力策略:逆向遍历矩形列表(后输入的矩形视为上层覆盖) 优化要点:利用输入顺序隐含的覆盖关系,时间复杂度O(n)原创 2025-02-19 11:22:27 · 369 阅读 · 0 评论 -
[C++刷题]使用sort()对字符串中的字符排序
将单词 “snake” 的字母按字母表顺序重新排列,输出排序后的新字符串。 字符串操作:`string` 类的基本方法 排序算法:标准库 sort 函数(平均时间复杂度 O(n log n)) 空间优化:原地排序避免额外空间开销原创 2025-02-19 11:09:50 · 1142 阅读 · 0 评论 -
[算法学习笔记]1. 枚举与暴力
枚举是基于已有知识来猜测答案的问题求解策略。即在已知可能答案的范围内,通过逐一尝试寻找符合条件的解。暴力算法直接模拟题目要求的操作来求解问题,强调严格遵循题目描述的步骤实现。原创 2025-02-18 19:07:45 · 1282 阅读 · 0 评论 -
[C++提高编程]笔记 1.2.6 模板的局限性
局限性: 模板的通用性并不是万能的 总结: 1. 利用具体化的模板,可以解决自定义类型的通用化 2. 学习模板并不是为了写模板,而是在STL能够运用系统提供的模板原创 2025-01-15 16:43:04 · 314 阅读 · 0 评论 -
[C++提高编程]笔记 1.2.4 普通函数与函数模板的区别1.2.5普通函数与函数模板的调用规则
普通函数与函数模板区别:1. 普通函数调用时可以发生自动类型转换(隐式类型转换)2. 函数模板调用时,如果利用自动类型推导,不会发生隐式类型转换3. 如果利用显示指定类型的方式,可以发生隐式类型转换调用规则如下:1. 如果函数模板和普通函数都可以实现,优先调用普通函数2. 可以通过空模板参数列表来强制调用函数模板3. 函数模板也可以发生重载4. 如果函数模板可以产生更好的匹配,优先调用函数模板原创 2025-01-15 16:05:41 · 398 阅读 · 0 评论 -
[C++提高编程]笔记 1.2.2 函数模板注意事项 1.2.3案例
注意事项:自动类型推导,必须推导出一致的数据类型`T`, 才可以使用模板必须要确定出`T`的数据类型,才可以使用`T`原创 2025-01-14 11:20:14 · 220 阅读 · 0 评论 -
[C++提高编程]笔记 1.1 模板概念1.2函数模板
通用的模具,提高复用性 特点:不可以直接使用,只是一个框架 模板的通用并不是万能的 1.2 函数模板 C++ 两种编程思想: 面向对象的编程 泛型编程 C++提供两种模板机制: 函数模板和类模板 1.2.1 函数模板语法 函数模板的作用: 建立一个通用函数,其函数返回值类型和形参类型可以不具体指定,用一个虚拟的类型来代表原创 2025-01-13 18:17:57 · 255 阅读 · 0 评论 -
[C++提高编程]笔记 2 STL初识
长久以来,软件界一直希望建立一种可重复利用的东西 C++的面向对象和泛型编程思想,目的就是复用性的提升 大多情况下,数据结构和算法都未能有一套标准, 导致被迫从事大量重复工作 为了建立数据结构和算法的一套标准, 诞生了STL原创 2025-01-13 17:30:53 · 433 阅读 · 0 评论 -
[C++提高编程]异常处理
C++中的异常处理是处理运行时错误的过程。执行异常处理,以便即使在运行时出现错误后也能保持正常的应用程序流转。在C++中,异常是在运行时抛出的事件或对象。所有异常都派生自std::exception类。它是一个可以处理的运行时错误。如果我们不处理异常,它就会打印异常消息并终止程序。原创 2025-01-12 19:02:40 · 424 阅读 · 0 评论 -
[C++刷题] 统计数字字符个数
因为题中给出的字符串中有空格, 故使用`getline`再`s.length()`求字符串长度本题是统计数字个数, 使用的是ASCII码来判断, 如果要求大小写个数也可以这样使用, 也可以使用库函数`isdigit()`、`isalpha()`, 但要记得包含头文件`ctype`原创 2025-01-03 14:37:04 · 591 阅读 · 0 评论 -
[C++刷题] 求回文素数
本题难点主要是回文数的判断思路: 将数字倒置存储, 比较和原数字是否相同, 相同即为回文.可以利用中间变量, 每次取到余数(个位), 赋值给一个临时变量`reversed`由于要留着原来的数字做比较, 所以不能改变原变量, 需要使用中间变量`temp`使用`while(temp>0`或`temp!=0`)每次/10(取数字每一位的方法)最后将倒置的数字和原数字比较原创 2025-01-02 19:49:33 · 1052 阅读 · 0 评论 -
【EasyX】基本绘图与文字控制, 图像输出 方法
参数错误,找不到对应的函数, 错误 C2665 “outtextxy”: 没有重载函数可以转换所有参数类型 是由于字符集导致的, 解决方案: 在字符串前面加上大写的 L 用TEST()把字符串包起来, _T(), 原理同上 不需要添加任何代码, 进项目->属性->配置属性->高级->字符集.>改为多字节字符集, 推荐使用这个原创 2024-11-26 19:52:46 · 480 阅读 · 0 评论 -
[C++ 核心编程]笔记 5.2.2 二进制方式 读文件
二进制方式读文件主要利用流对象调用成员函数 read 函数原型: `istream& read(char *buffer,int len);` 参数解释: 字符指针`buffer`指向内存中一段存储空间。`len`是读写的字节数 文件输入流对象 可以通过`read`函数,以二进制方式读数据原创 2024-11-24 12:00:00 · 271 阅读 · 0 评论 -
[C++ 核心编程]笔记 5.2.1 二进制方式 写文件
以二进制的方式对文件进行读写操作 打开方式要指定为 ios::binary 5.2.1 写文件二进制方式写文件主要利用流对象调用成员函数 `write` 函数原型: `ostream& write(const char * buffer,int len);` 参数解释: 字符指针`buffer`指向内存中一段存储空间。`len`是读写的字节数 总结: 文件输出流对象 可以通过 `write` 函数,以二进制方式写数据原创 2024-11-24 10:30:00 · 233 阅读 · 0 评论 -
[C++刷题] 基础小知识点(8) 数组在不同存储位置时默认初始化值的不同
存储位置是否默认初始化默认值局部数组否未定义(随机值)全局/静态数组是0(内置类型)动态数组否未定义(随机值)显式初始化是更好的编程习惯,尤其是对于局部或动态数组。原创 2024-11-23 11:00:00 · 499 阅读 · 0 评论 -
[C++刷题] 基础小知识点(7) 将大数组等 移动到 main 函数外
在我们刷题时, 常常会进行开辟大数组等操作,而初学者一般习惯性将变量声明放在main函数中。而在main()函数中声明的变量如果太大, 如,有时编译器会报错:栈区与全局区的差异:将数组移到全局区,可以减轻栈的负担,避免栈溢出。为什么编译器会报错:将数组从函数内部移动到函数外,全局区管理的内存空间通常更大,因此可以解决栈空间不足的问题。以下情况有效:全局声明的数组大小不超过全局区限制:不需要动态分配的情况下:堆区 是另一种选择,通过动态内存分配解决栈不足问题:堆与全局的对比:如果数组大小较大且需要原创 2024-11-23 10:00:00 · 596 阅读 · 0 评论 -
[C++ 核心编程]笔记 5.1.2 读文件
读文件与写文件步骤相似,但是读取方式相对于比较多。打开文件并判断文件是否打开成功。原创 2024-11-22 11:00:00 · 215 阅读 · 0 评论 -
[C++ 核心编程]笔记 5.1.1 写文件
程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放通过文件可以将数据持久化C++中对文件操作需要包含头文件ofstreamifstreamfstream。原创 2024-11-22 10:00:00 · 217 阅读 · 0 评论 -
[C++ 核心编程]笔记 4.7.6 多态案例三-电脑组装
将每个零件封装出抽象基类,并且提供不同的厂商生产不同的零件,例如Intel厂商和Lenovo厂商。创建电脑类提供让电脑工作的函数,并且调用每个零件工作的接口 测试时组装三台不同的电脑进行工作。电脑主要组成部件为 CPU(用于计算),显卡(用于显示),内存条(用于存储)原创 2024-11-21 10:30:00 · 348 阅读 · 0 评论 -
[C++ 核心编程]笔记 4.7.5 虚析构和纯虚析构
多态使用时,如果子类中有属性开辟到堆区,那么父类指针在释放时无法调用到子类的析构代码。解决方式: 将父类中的析构函数改为虚析构或者纯虚析构。如果是纯虚析构,该类属于抽象类,无法实例化对象。原创 2024-11-21 10:00:00 · 438 阅读 · 0 评论 -
[C++ 核心编程]笔记 4.7.2 多态案例--计算器类
多态的优点: 1. 代码组织结构清晰 2. 可读性强 3. 利于前期和后期的扩展以及维护 在真实的开发中 提倡 开闭原则 开闭原则: 对扩展进行开放, 对修改进行关闭 总结: C++开发提倡利用多态设计程序架构,因为多态优点很多原创 2024-11-19 11:00:00 · 331 阅读 · 0 评论 -
[C++ 核心编程]笔记 4.7.3 纯虚函数和抽象类
在多态中,通常父类中虚函数的实现是毫无意义的,主要都是调用子类重写的内容,因此可以将虚函数改为纯虚函数纯虚函数语法:当类中有了纯虚函数,这个类也称为抽象类。原创 2024-11-20 10:30:00 · 366 阅读 · 0 评论 -
[C++ 核心编程]笔记 4.7.1 多态的基本概念
多态是C++面向对象三大特性之一 多态分为两类 静态多态: 函数重载 和 运算符重载属于静态多态,复用函数名 动态多态: 派生类和虚函数实现运行时多态 静态多态和动态多态区别: 静态多态的函数地址早绑定-编译阶段确定函数地址 动态多态的函数地址晚绑定-运行阶段确定函数地址 动态多态 1. 有继承关系 2. 子类重写父类的虚函数 动态多态使用: 父类的指针或引用, 执行于类对象原创 2024-11-19 10:30:00 · 255 阅读 · 0 评论 -
[C++ 核心编程]笔记 4.5.6 函数调用运算符重载
1. 函数调用运算符()也可以重载 2. 由于重载后使用的方式非常像函数的调用,因此称为仿函数 3. 仿函数没有固定写法,非常灵活原创 2024-11-14 10:30:00 · 154 阅读 · 0 评论 -
[C++刷题] 基础小知识点(6) 求阶乘, 阶乘的应用,求 e 的值,e^x 的值
求阶乘, 阶乘的应用 求 e 的值 e^x 的值原创 2024-11-13 16:11:51 · 378 阅读 · 0 评论 -
VS 2022 无法打开 xxx exe 进行写入 解决方案
经排查, 一般是上次生成的exe仍在运行, 操作过快导致VS 2022没反应过来无法关闭exe。打开任务管理器, 按名称排序,可以找到自己编写的程序名, 选中-delete。该问题一般出现于运行程序后马上关闭程序后。原创 2024-11-13 15:29:47 · 719 阅读 · 1 评论 -
[C++ 核心编程]笔记 4.5.5 关系运算符重载
关系运算符重载 作用: 重载关系运算符,可以让两个自定义类型对象进行对比操作 原因: 使用C++提供的 == / != 运算符无法对比 class 类型原创 2024-11-11 12:47:35 · 226 阅读 · 0 评论 -
[C++ 核心编程]笔记 4.5.4 赋值运算符重载
编译器提供的赋值运算符是浅拷贝, 如果有属性创建在堆区,写一个析构代码会导致内存的重复释放。原创 2024-11-11 11:26:53 · 520 阅读 · 0 评论 -
[C++ 核心编程]笔记 4.4.4 重载递增运算符
注: 最重要的是后置++中操作的顺序: 先记录结果, 递增, 最后返回。由于要在cout右边输出, 故需要用到上节课的cout的重载。编写重载部分, 需要分为前置++和后置++原创 2024-11-09 10:30:00 · 256 阅读 · 0 评论 -
[C++ 核心编程]笔记 4.5.2 左移运算符重载
重载一般分为成员函数重载和全局函数重载, 但此处一般不实用成员函数重载。此处cout为引用, 相当于起别名, 可以随意命名。则无法链式编程, 所以要将返回类型写为。故只能利用全局函数重载左移运算符。命名后即可正常使用(若返回类型为。可以输出自定义数据类型。(输出流, 可以右键。原创 2024-11-08 10:00:00 · 366 阅读 · 0 评论 -
[C++ 核心编程]笔记 4.5.1 加号运算符重载
运算符重载概念: 对已有的运算符重新进行定,赋予其另一种功能,以适应不同的数据类型。作用: 实现两个自定义数据类型相加的运算 总结1: 对于内置的数据类型的表述式的的运算符是不可能改变的 总结2: 不要滥用运算符重载原创 2024-11-08 10:00:00 · 234 阅读 · 0 评论 -
[C++ 核心编程]笔记 4.4.3 成员函数做友元
使目标成员函数做友元, 即可在另一个类的成员函数访问其中的私有权限。原创 2024-11-07 11:09:23 · 270 阅读 · 0 评论 -
[C++ 核心编程]笔记 4.4.2 类做友元
[C++ 核心编程]笔记 4.4.2 类做友元。GoodGay类是本类的好朋友, 可以访问该类中私有对象原创 2024-11-07 10:00:00 · 260 阅读 · 0 评论
分享