- 博客(16)
- 收藏
- 关注
原创 C++条件判断入门:if/else详解
本文介绍了C++中的if/else条件判断语句。主要内容包括:1)if/else的基本概念和作用,通过生活实例说明;2)三种语法结构:单独if、if+else、if+elseif+else多条件分支;3)条件表达式的编写方法;4)两个完整示例演示成绩判断;5)常见错误提醒(如多加分号、==写成=等);6)VSCode实用快捷键。重点强调条件判断的基本用法和易错点,建议新手始终使用大括号避免逻辑错误。
2026-04-04 09:17:33
152
原创 揭秘BF算法:字符串匹配的暴力美学
摘要:本文介绍了字符串模式匹配的基本概念和BF算法实现。BF(暴力匹配)算法通过逐个字符比较实现模式串匹配,当字符不匹配时进行回溯。文中给出了C语言实现代码,并分析了其时间复杂度(最好O(n+m),最坏O(n×m))。虽然BF算法简单直观,但效率较低。最后提出了优化思考题,预告将介绍更高效的KMP算法来解决重复比较问题。示例测试显示主串"ababcabcac"与模式串"abcac"匹配位置为5。
2026-04-04 09:15:13
241
原创 从栈到队列:数据结构基础全解析
本文介绍了队列数据结构及其实现。首先解释栈的逆序原理(LIFO特性),然后重点讲解队列的FIFO特性,包括普通队列与循环队列的区别。针对数组实现的循环队列,详细说明了其解决"假溢出"问题的原理,并给出了完整的C语言实现代码(含初始化、入队、出队、判空/满等操作)。通过对比表格区分栈(LIFO)和队列(FIFO)的特点与应用场景,最后提出用队列模拟任务执行的练习,并预告下节将学习字符串匹配算法。全文以代码实例配合生活化比喻(如食堂排队),帮助理解队列的核心概念与实现方法。
2026-04-03 13:49:55
24
原创 【每日 C++】Day7 运算符优先级与结合性 + 常见坑总结(新手必收藏)
本文介绍了运算符优先级的基本概念,重点讲解了常见运算符的优先级顺序:括号>乘除模>加减>比较>逻辑与>逻辑或>赋值。文章通过多个示例(如10+5*2=20、5+3>6=true等)演示了优先级在实际运算中的应用,特别强调逻辑与(&&)优先级高于逻辑或(||)。针对新手常见错误,建议使用括号明确运算顺序,并提供VSCode快捷操作技巧(如Shift+Alt+F格式化)。最后指出下周将学习流程控制语句。全文核心要点:不确定运算顺序时,加括号是最保险的做法
2026-04-03 13:47:30
204
原创 C++赋值与逻辑运算全解析
本文介绍了C++中三种常用运算符:赋值运算符(=、+=等)用于给变量赋值;比较运算符(==、>等)返回布尔值用于条件判断;逻辑运算符(&&、||、!)用于组合多个条件。文章通过示例代码演示了运算符的使用,并指出新手常见错误(如混淆=和==)。还提供了VSCode快捷键和重点总结,帮助初学者掌握这些基础但重要的编程概念。运行结果显示,C++中true输出1,false输出0。
2026-04-02 09:20:27
141
原创 数据结构入门:栈的原理与实战应用
本文介绍了栈的概念和实现。栈是一种后进先出(LIFO)的数据结构,支持入栈(push)、出栈(pop)、取栈顶(top)等操作。文章详细展示了用数组实现栈的完整代码,并演示了栈在括号匹配问题中的应用。栈的优点在于操作简单高效(O(1)复杂度),适合处理逆序、嵌套结构等问题,但缺点是只能访问栈顶元素且容量有限。最后提供了两个练习:用栈实现数字逆序输出和判断括号匹配。
2026-04-02 09:18:07
130
原创 双向链表:高效遍历与删除指南
本文介绍了链表的数据结构,重点讲解了双向链表的实现和应用。内容包含:1)单链表反转需要三个指针的原因;2)双向链表的定义和优势,每个节点包含prev和next指针,支持双向遍历;3)完整的双向链表代码实现,包括创建节点、尾部插入、正向/反向打印和删除节点操作;4)循环链表的概念和特点;5)三种链表(单链表、双向链表、循环链表)的对比分析,包括指针数量、遍历方向和应用场景。通过示例代码演示了双向链表的基本操作,并提供了练习任务帮助理解。
2026-04-01 09:57:27
389
原创 C++算术运算符详解与实战技巧
本文介绍了C++中的5种基本算术运算符:加(+)、减(-)、乘(*)、除(/)、取模(%)。重点讲解了整数除法会舍弃小数部分,以及取模运算仅适用于整数的特性。文中提供了完整示例代码演示运算符使用,并指出新手常见错误:整数除法丢失小数、取模用于浮点数、除数为零等问题。最后总结了算术运算符的核心要点和使用注意事项,包括整数除法特性、取模运算限制和除数不能为零的原则。
2026-04-01 09:55:23
257
原创 C++常量详解:const与#define对比
常量:程序运行中值不能被修改的量变量:可以随时改常量:一旦定义,不能再赋值固定数值(如圆周率 π、最大分数、固定密码)防止误改,提高代码安全性见名知意,方便维护const 数据类型 常量名 = 值;有数据类型,更安全作用域和变量一样编译时会做类型检查不能被修改常量:运行中不能被修改const:有类型、安全、C++ 推荐#define:简单替换、容易出坑全大写 + 下划线。
2026-03-31 12:59:29
461
原创 链表操作精讲:删除与反转实战
本文介绍了链表的核心操作与数组对比。主要内容包括:1)链表插入不需移动元素,仅修改指针指向;2)实现单链表按值删除节点和反转链表(面试高频考点),提供完整C语言代码及详细注释;3)数组与链表对比:数组内存连续、随机访问快但插入慢,链表内存不连续、插入快但需顺序访问;4)包含删除节点和反转链表的具体实现思路,以及运行测试示例。适合学习者理解链表基本操作原理,并掌握实际编程实现方法。
2026-03-31 12:56:36
296
原创 数据结构入门 Day3:单链表 —— 解决数组插入慢的 “神器”
链表 = 多个节点串联而成,内存不连续,像链条一样。数据域:存储真实数据指针域:指向下一个节点内存不连续长度动态变化插入 / 删除极快(不用移动元素)查找慢(必须从头遍历)✅ 优点插入 / 删除极快,不用移动元素长度动态,随用随申请无空间浪费❌ 缺点查找慢,必须从头遍历不支持随机访问(不能直接找第 i 个元素)多占用一个指针空间。
2026-03-30 13:00:06
158
原创 C++数据类型入门:从整数到字符全面解析
C++基础数据类型包括整数(int)、小数(float/double)、字符(char)和布尔(bool)类型。int存储整数,占4字节;float和double存储小数,建议优先使用8字节的double;char存储单个字符需用单引号;bool只有true/false两个值。可使用sizeof()查看各类型占用的字节数,定义变量时要注意格式规范,避免常见错误如字符用双引号、变量名使用关键字等。掌握这些基础数据类型是C++编程的重要基础。
2026-03-30 12:56:41
322
原创 【每日 C++】Day2 注释、关键字与标识符命名规范(含 快捷键)
本文介绍了C++注释和标识符的使用规范。主要内容包括:1)单行(//)和多行(/* */)注释的语法及VSCode快捷键操作;2)C++关键字不可作为标识符使用;3)标识符命名规则(只能包含字母、数字和下划线,不能数字开头)及常用规范(小驼峰、下划线命名法);4)通过示例演示注释和规范命名的实际应用;5)提供VSCode注释快捷键速查表。强调代码注释的必要性和规范命名的重要性,以提升代码可读性和维护性。
2026-03-29 14:00:00
163
原创 数组VS链表:谁才是插入数据的王者?
本文介绍了数组的基本概念和特性。数组是一段连续内存空间,存储相同类型数据,具有下标从0开始、长度固定等特点。通过C++示例展示了数组的定义、访问、修改和遍历操作。重点分析了数组插入删除效率低的原因:需要移动大量元素,时间复杂度O(n)。相比之下,链表插入更快(O(1))。数组优点是查找快(O(1))、遍历高效、缓存友好,缺点是长度固定、插入删除慢。文末提供了练习题目,并预告下期将讲解单链表如何解决数组插入慢的问题。核心结论:查找多用数组,频繁插入用链表。
2026-03-29 09:49:42
553
原创 数据结构入门:高效编程的必修课
数据结构是数据在计算机中的存储与组织方式,直接影响代码效率。它包括逻辑结构(数据关系)和存储结构(内存存放方式),核心操作是增删改查。学习数据结构能写出高效代码、通过面试、理解底层原理。建议新手从线性结构开始,结合理论和代码实现,多用画图辅助理解。今日思考题:数组和链表的插入效率比较。明日将讲解数组的基本操作实现。
2026-03-28 12:27:17
390
原创 C++ 入门第一课:环境搭建 + 第一个 HelloWorld(新手必看)
本文为C++编程新手提供了详细的环境配置指南和第一个程序编写教程。主要内容包括:1)推荐Windows用户使用Visual Studio 2022社区版,跨平台用户可选择VSCode+MinGW-w64或g++;2)详细讲解VS2022安装步骤和项目创建流程;3)提供完整的HelloWorld代码示例及逐行解析;4)针对常见问题给出解决方案。通过本教程,新手可以快速搭建开发环境,理解C++程序基本结构,掌握控制台输出语法,并成功运行第一个C++程序。
2026-03-28 12:22:59
374
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅