自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 C++基础入门:从命名空间到函数重载

本文介绍了C++基础特性,包括命名空间、输入输出、缺省参数和函数重载。命名空间用于解决命名冲突问题,支持三种使用方法。C++的输入输出通过cout/cin实现,无需指定格式符。缺省参数分为全缺省和半缺省,需遵循从右向左连续赋值原则。函数重载允许同名函数存在,要求参数列表在类型、数量或顺序上不同。这些特性使C++在保留C语言优点的同时提升了开发效率和安全性。

2025-11-02 21:13:41 930

原创 LeetCode——1780.判断一个数字是否可以表示成三的幂的和

本文探讨如何判断一个整数是否可以表示为不同三的幂之和。通过分析示例发现,当对数字n进行三进制分解时,只要所有位上的数字都不为2,则该数可以表示为不同三的幂之和。解题方法是将n不断除以3,检查每次余数是否为2,若出现则返回false,否则最终返回true。该方法通过取模运算高效实现,时间复杂度为O(log₃n)。文中提供了C语言代码实现,验证了算法的正确性。

2025-08-14 10:26:03 302

原创 LeetCode——456. 132 模式

本文介绍了LeetCode 456题“132模式”的解法。题目要求在数组中找出满足i<j<k且nums[i]<nums[k]<nums[j]的子序列。文章提供了三种方法:1)暴力三重循环O(n³)解法;2)优化后的二重循环O(n²)解法;3)最优的单调栈O(n)解法。其中单调栈方法通过维护一个递减栈和变量max_k,从右向左遍历数组,高效判断132模式是否存在。文末还附上了单调栈解法的图示说明,帮助理解其工作原理。三种解法代码实现均已给出,但推荐使用单调栈以满足题目的大数据量要求。

2025-08-13 11:36:46 492

原创 LeetCode——241.为运算表达式设计优先级

文章摘要: LeetCode 241题要求为包含数字和运算符(+、-、)的表达式设计所有可能的优先级组合,并返回所有可能的计算结果。通过递归分治策略,将表达式拆分为左右子部分分别计算,再根据运算符组合结果。示例中,"2-1-1"返回[0,2],"23-4*5"返回[-34,-14,-10,-10,10]。C语言实现通过动态分配内存处理结果,递归分解纯数字时直接返回数值,遇到运算符则递归计算左右子表达式并组合运算结果。

2025-08-11 18:18:34 402

原创 LeetCode——983.最低票价

本文介绍了一个火车旅行最低消费问题,需要通过合理选择三种不同期限的通行证来最小化旅行成本。给定一个出游日期数组和三种票价的成本,采用动态规划方法,通过构建费用数组dp和出游标记数组Go,比较三种通行证方案(1日、7日、30日)的费用,选择最优解。代码实现中通过max和min函数比较不同方案,最终返回满足所有出游日期的最低费用。该方法有效解决了在给定日期内选择最经济通行证组合的问题。

2025-08-10 11:29:51 427

原创 Linux权限管理

本文系统介绍了Linux权限管理机制,主要内容包括:1)权限基础概念,区分root用户和普通用户的权限差异;2)用户切换与权限授予命令(su/sudo);3)文件权限系统(rwx权限组、数字/符号表示法);4)文件类型标识(普通文件-、目录d等);5)目录权限特性(r查看、w修改、x进入);6)默认权限计算(umask机制);7)共享目录设置方案(粘滞位t权限)。重点讲解了chmod/chown等权限修改命令的使用方法,并详细说明了权限数字表示法与符号表示法的转换规则。

2025-08-09 20:31:06 713

原创 Linux基础命令速查:从入门到精通

本文介绍了Linux操作系统的基本概念和常用命令。主要内容包括:1) 操作系统定义与作用;2) 基础命令如目录操作(ls/cd/mkdir)、文件操作(cp/mv/rm)、文本查看(cat/less)和处理(grep/wc);3) 重定向与管道操作;4) 文件系统特性与路径规则;5) 压缩解压工具(zip/tar)和文件传输命令(sz/rz/scp);6) 日期时间(date/cal)等实用命令。文章还特别强调了危险命令(如rm -rf)的使用注意事项,适合Linux初学者快速掌握系统基本操作。

2025-08-08 21:14:49 1111

原创 排序算法大全:从插入到快速排序

本文介绍了六种常见排序算法及其实现。插入排序通过逐个插入元素实现排序,希尔排序是其改进版本;冒泡排序通过相邻元素交换实现排序;选择排序每次选取最值元素;堆排序利用二叉堆结构;快速排序采用分治思想,包含hoare、挖坑和前后指针三种实现方式。这些算法涵盖从基础到高效的排序方法,适用于不同规模的数据处理需求,为日常编程中的排序问题提供了多种解决方案。所有算法均给出C语言实现代码,并附有部分算法的动态演示图。

2025-08-02 19:39:53 876

原创 堆排序与Top K问题精解

堆是一种完全二叉树数据结构,分为最大堆(父节点值≥子节点)和最小堆(父节点值≤子节点)。本文详细介绍了堆的实现方法,包括初始化、插入/删除数据时的向上/向下调整操作,以及获取堆顶、判断空堆等功能。重点讲解了堆排序算法,通过建堆和调整实现O(nlogn)的排序效率,并分析了升序/降序时选择大/小堆的原因。最后探讨了Top K问题的解决方案,通过建立适当堆结构高效查找前K个极值。文章配有图示和完整C语言代码实现,帮助理解堆的核心操作和应用场景。

2025-07-23 17:00:00 446

原创 深入解析二叉树链式存储结构

本文深入探讨了二叉树的链式存储结构实现。首先介绍了二叉链表节点的定义,包含数据域和左右孩子指针。随后详细讲解了核心操作的实现:包括节点初始化、递归创建二叉树、计算树的高度、统计非空节点数、查找叶子节点数、获取第K层节点数以及查找指定节点等。重点分析了二叉树的四种遍历方式(前序、中序、后序和层序遍历),其中层序遍历需借助队列实现。文章还提供了快速创建二叉树的示例代码,并通过图示说明各种操作的执行过程。相比顺序存储,链式存储能更灵活地表示树形结构,尤其适合处理非完全二叉树的情况。

2025-07-23 07:00:00 588

原创 二叉树:从理论到实现的全面解析

本文全面解析了二叉树的理论与实现。首先介绍了树的基本概念,包括树的定义、相关术语和节点结构表示法。重点讲解了二叉树的特性和常见类型(满二叉树、完全二叉树、二叉搜索树),并详细阐述了二叉树的性质。在实现部分,文章分别探讨了二叉树的顺序存储和链式存储结构,提供了具体的结构定义和初始化方法。特别对顺序存储结构下的父子节点位置关系进行了公式推导,并给出了创建二叉树的代码实现,包括节点输入、空间扩容和错误检测等功能。文章内容系统全面,涵盖了二叉树从基础概念到实际应用的关键知识点。

2025-07-22 07:00:00 699

原创 栈和队列——队列

队列的顺序存储结构、队列的链式存储结构

2025-07-11 17:37:40 793

原创 栈和队列——栈

栈的顺序存储结构、栈的链式存储结构

2025-07-11 17:36:47 1121

原创 线性表——双向链表

双向链表的增删查改、常见误区

2025-07-05 11:03:32 903 2

原创 线性表——单链表

链式存储结构、单链表的增删查改

2024-01-27 11:05:05 1131 2

原创 线性表——顺序表

顺序存储结构、顺序表的增删查改、顺序表优缺点

2024-01-27 11:04:59 1002 1

原创 算法与复杂度

算法的特性及评定、时间复杂度、空间复杂度

2024-01-15 18:57:48 958

原创 预处理

预定义符号、#define(宏)、# 和 ## 的使用、宏的命名、#undef

2024-01-11 20:35:57 474 1

原创 编译和链接

翻译环境和运行环境、编译、链接

2023-12-05 21:35:45 148 1

原创 文件操作

二进制文件和文本文件、文件指针、文件的打开和关闭、文件的顺序读写和随机读写、文件结束的判定、文件缓冲区

2023-12-03 21:18:12 206 2

原创 动态内存管理

malloc 、free 、calloc 、realloc 、柔性数组

2023-12-02 23:57:50 155 1

原创 联合与枚举

联合体、枚举

2023-11-27 21:48:38 126

原创 结构体

结构体变量、结构体的内存对齐、结构体的传参、位段

2023-11-19 01:30:35 190 1

原创 数据的存储

大小端、整数和浮点数在内存中的存储

2023-11-15 19:41:17 126 1

原创 String标准库

strcpy strncpy memcpy memmove strcat strncat strcmp strncmp memcmp strstr strtok strerror memset

2023-09-17 15:00:00 211 1

原创 指针三部曲(三)

sizeof 和 strlen

2023-08-23 09:54:16 114 1

原创 指针三部曲(二)

数组名分析,二级指针,数组传参,指针数组,字符指针,数组指针,函数指针,函数指针数组

2023-08-23 09:53:47 143 1

原创 指针三部曲(一)

内存,取地址操作符(&),指针,const,指针运算,野指针,assert断言,指针的传址调用

2023-08-23 09:52:38 206 1

原创 进制和操作符

进制转换,原码、反码、补码,位操作符,优先级和结合性,逗号表达式

2023-08-17 18:40:22 437 2

原创 函数递归

递归与迭代 、限制条件

2023-08-14 19:00:23 116

原创 VS调试技巧

bug 、 调试 、debug 和 release 、快捷键 、监视和内存

2023-08-11 21:07:09 167 1

原创 函数

库函数 自定义函数 形参和实参 return语句 嵌套调用和链式访问 函数的声明和定义 static 和 extern

2023-08-10 22:29:01 167 2

原创 扫雷游戏(初阶)

游戏菜单的打印 棋盘定义及初始化 棋盘及坐标的打印 布置雷 排查雷及统计周围雷的个数

2023-08-09 13:26:37 138

原创 猜数字游戏

rand函数、srand函数、time函数、猜数字游戏

2023-07-30 19:02:41 139 1

原创 数组

一维数组、二维数组

2023-07-28 21:31:00 137 1

原创 分支与循环(下)

while 、do while、for 循环语句 continue 和 break 语句 goto语句

2023-07-25 18:42:45 116

原创 分支与循环(上)

if 语句 和 switch 语句

2023-07-24 22:18:24 158

原创 printf与scanf那些事

printf、scanf 与占位符

2023-07-23 23:10:21 265

原创 转义字符详解

常见的转义字符

2023-07-22 17:48:30 391

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除