- 博客(24)
- 收藏
- 关注
原创 【数据结构】从零拿捏树(一)---- 树的介绍
本文介绍了树这种非线性数据结构的基本概念和特性。树是由n个结点组成的层次集合,具有根朝上、叶朝下的特点。讲解了23个树相关术语(如根结点、度、叶结点等)和树的表示方法,重点说明了孩子兄弟表示法的结构定义
2025-09-28 19:55:53
883
5
原创 【数据结构】从零拿捏队列(一)---(动图详解)
本文详细介绍了队列数据结构及其C语言实现方法。队列是一种先进先出(FIFO)的线性表,支持在队尾插入元素、队头删除元素的基本操作。文章首先阐述了队列的概念、特点和应用场景,包括生产者消费者模型、多线程同步和广度优先遍历等。然后重点讲解了基于单链表的队列实现方案,包括初始化、入队、出队、获取队头队尾元素、判空、获取队列大小和销毁等核心操作的代码实现及关键点分析。最后提供了完整的头文件和源文件代码。全文通过动图演示和代码示例,帮助读者深入理解队列的工作原理和实现细节。
2025-09-09 21:15:36
1313
18
原创 【数据结构】链表----经典算法(二)
本文介绍:详细说明了链表经典6个题目 1. 返回倒数第k个结点 ----- 快慢指针 2. 链表的回文结构 -------- 快慢指针 3. 相交链表 ------ 同步遍历 4. 环形链表 -----Floyd判圈算法 5. 环形链表(Ⅱ) ----- Floyd判圈算法 6. 随机链表的复制 -----深拷贝的另一种思想
2025-09-07 22:41:11
879
25
原创 【数据结构】从零拿捏复杂度(时间复杂度 + 空间复杂度)
1. 时间复杂度通过大O渐进表示法,保留最高阶项并忽略常数系数,常见类型包括O(1)、O(N)、O(N²)、O(logn)和O(2^N)。 2. 空间复杂度同样使用大O表示法,主要关注算法运行时的额外空间占用。空间复杂度在当前计算环境中重要性较低。
2025-09-02 16:40:49
977
2
原创 [项目设计] 拿捏----贪吃蛇(简洁版)(C语言设计)
一.游戏的各种初始化 1.1 游戏的设置(大小,光标,提示,地图)1.2 游戏的信息(游戏的状态,贪吃蛇的信息,食物的信息)1.3 食物的初始化。二.游戏的运行 2.1 打印固定的信息(打印什么按键对于蛇的移动)2.2 检测按键状态 2.3 蛇的移动(蛇的移动,是否结束的判断)三.游戏的结束 3.1 游戏结束的提示信息 3.2 释放内存空间
2025-08-31 16:18:11
1335
4
原创 C标准库 ---- locale.h
介绍了locale.h 详细说明了LC_COLLATE LC_CTYPE LC_MONETARY LC_NUMERIC LC_TIME LC_ALL,介绍了setlocale函数,介绍了宽字符
2025-08-26 00:03:03
992
4
原创 Windows控制台编程核心API详解:从入门到应用
API的介绍 控制台程序 COORD结构体 GetStdHandle函数 GetConsoleCursorInfo函数 SetConsoleCursorInfo函数 SetConsoleCursorPosition函数 GetAsyncKeyState函数
2025-08-23 22:45:55
1447
2
原创 从零拿捏链表(二)—— 带头双向循环链表(双向链表)
双向链表节点创建,初始化,尾插,头插,打印,尾删,头删,查找指定位置,在指定位置后插入,删除指针位置,销毁
2025-08-22 02:59:11
1281
3
原创 从零拿捏链表(一)—— 无头单向不循环链表(单链表)
本文详细写了链表的介绍 , 分类 , 单链表定义, 头增, 尾增, 指定位置之前增 , 指定位置之后增, 头删, 尾删 , 指定位置删除, 查找指定位置, 销毁
2025-08-20 01:47:17
1293
2
原创 【数据结构】顺序表实操----通讯录项目
本文详细介绍了通讯录的创建,初始化,联系人增加,联系人删除,联系人查找,联系人修改,联系人展示,通讯录销毁的原理与代码
2025-08-14 01:52:54
1365
7
原创 顺序表万字全解
本文系统介绍了顺序表的基本概念和实现方法。顺序表是一种基于数组实现的线性结构,包含动态扩容、插入、删除等核心操作。主要内容包括:1. 顺序表的结构定义,使用结构体封装数组指针、当前元素个数和容量;2. 初始化、头插尾插、头删尾删等基础操作的实现细节;3. 动态扩容机制,通过realloc实现空间不足时的自动扩容;4. 指定位置插入删除等高级操作的方法;5. 查找和销毁等辅助功能。文章通过详细代码示例,展示了顺序表各操作的具体实现逻辑,重点解析了动态扩容、插入删除时的边界处理等关键问题。
2025-08-12 12:23:17
733
2
原创 数据结构--入门目录指南
本文系统整理了数据结构知识体系,分为低阶和高阶两大部分。低阶部分涵盖时间复杂度、顺序表、链表、栈和队列等基础结构,详细讲解各类操作实现及经典应用(如计算器、排序算法等)。高阶部分包括图、B树和跳表等复杂结构,重点剖析其存储方式、核心算法及实际应用。每章节均采用"静态模拟+操作实现+应用分析"的递进式讲解方式,并提供完整代码示例。特别对树结构、堆排序、哈希处理等难点进行深度解析,同时包含B树变种、跳表性能比较等进阶内容。
2025-08-09 23:22:31
473
原创 C语言/C++ 文件操作全解
因为我们写的程序储存在内存中,退出程序就会把栈区堆区静态区空间释放,就没有了,放在硬盘中(磁盘中),放在文件中就可以长期保存首先文件包括两部分程序⽂件包括源程序⽂件(后缀为.c),⽬标⽂件(windows环境后缀为.obj),可执⾏程序(windows 环境后缀为.exe)数据文件,⽂件的内容不⼀定是程序,⽽是程序运⾏时读写的数据,⽐如程序运⾏需要从中读取数据的⽂件,或者输出内容的⽂件。本章讨论的是数据⽂件。
2025-07-31 06:12:39
749
3
原创 动态内存管理
本文介绍了C语言动态内存管理的五个核心内容:malloc、free、calloc、realloc和柔性数组。动态内存管理解决了固定大小数组的空间限制问题,使程序能在运行时灵活调整内存。malloc用于分配指定大小的内存,calloc在分配后会初始化为0,realloc可调整已分配内存大小,free用于释放内存。柔性数组作为结构体成员,允许动态调整大小。文章详细说明了各函数的使用方法、注意事项及内存管理最佳实践(如检查NULL指针、成对使用free和NULL赋值)。通过示例代码展示了动态内存的申请、使用、调整
2025-07-19 00:25:56
937
原创 字符函数和字符串函数(万字详解)
本文系统介绍了C语言中常用的字符和字符串处理函数。字符函数部分详细讲解了11类字符分类函数(如isdigit、isalpha等)和2个字符转换函数(toupper、tolower)的使用方法。字符串函数部分涵盖了13个核心函数,包括strlen、strcpy、strcat等基本操作函数,以及strstr、strtok等高级处理函数,每个函数都配有使用说明和模拟实现代码。文章还特别指出了strlen返回值无符号的特性、strncpy/strncat的特殊行为等易错点,并提供了strerror和perror等错
2025-07-05 19:49:01
891
原创 贪心详解(简单贪心,推公式,哈夫曼编码,区间问题)
本文介绍了贪心算法的基本概念、分类和应用。贪心算法通过局部最优选择寻求全局最优解,但可能无法得到全局最优。文章将贪心问题分为四类:1)简单贪心(如最大子段和、纪念品分组),2)推公式(如拼数、奶牛杂技),3)哈夫曼编码(如合并果子),4)区间问题(如线段覆盖)。每种类型都通过典型例题进行详细解析,包括算法思想、正确性证明和代码实现。特别强调贪心算法需要经验积累,证明过程虽然复杂但能培养严谨思维。文章最后指出区间问题与推公式的相似性,并鼓励读者在代码实践中不断进步。
2025-06-30 23:06:35
1347
原创 深入指针 ~之美学~全内容详解
本文详细讲解了C语言指针的核心知识。首先介绍了指针的基本概念,将内存比喻为宿舍,指针就像宿舍的门牌号。然后讲解了指针变量的定义、解引用操作、指针运算和const修饰指针等基础内容。接着深入探讨了数组与指针的关系,包括数组名本质、指针访问数组、数组传参等问题。随后分析了二级指针、指针数组和数组指针的区别。最后讲解了高级指针应用,包括函数指针、回调函数、qsort的使用及模拟实现。文章由浅入深,从指针基础到实际应用,帮助读者全面掌握指针这一C语言的核心概念。
2025-06-23 14:12:29
1206
原创 C/C++ 调试 + 二进制枚举(费解的开关题目)
首先调试介绍一下,可以简单理解为一步步运行程序,一步步程序测试简称调试。(知道了以下为废话废话段)当发现程序中存在的问题的时候,那下⼀步就是找到问题,并修复问题。这个找问题的过程叫称为调试,英⽂叫debug(消灭bug)的意思。调试⼀个程序,⾸先是承认出现了问题,然后通过各种⼿段去定位问题的位置,可能是逐过程的调试,也可能是隔离和屏蔽代码的⽅式,找到问题所的位置,然后确定错误产⽣的原因,再修复代码, 重新测试。
2025-06-17 01:29:17
1136
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅