- 博客(65)
- 收藏
- 关注
原创 【C语言输入输出函数应用】
本文介绍了C语言中常用的输入输出函数,包括 printf、scanf、puts、putchar() 和 getchar(),并通过代码示例展示了它们的灵活应用。首先,通过字符变量和格式化输出演示了 %c 和 %d 的使用,解释了ASCII值的应用。接着,利用 scanf 和 puts 实现大小写转换,展示了ASCII表中大小写字母的偏移规律。随后,深入讲解了 getchar() 和 putchar() 的使用,特别是处理换行符的技巧。最后,通过一个趣味加密练习,展示了如何利用字符偏移对单词进行加密。文章总结
2025-05-11 17:18:17
279
原创 数据结构【二叉树的遍历实现】
本文详细介绍了二叉树的存储、遍历及其实现方式,重点探讨了链式存储结构和四种遍历方法(先序、中序、后序、层序)。层序遍历需要使用队列辅助实现,队列中存储的是树结点的指针而非字符,以确保能够访问子树。文章还解释了为何不能直接用 char 类型代替队列元素类型,并提供了二叉树的构建方法。最后,总结了考研复习中的关键知识点,强调了数据结构与操作的关系,为考研复习提供了实用指导。
2025-05-11 16:40:57
1138
原创 【使用小皮面板 + WordPress 搭建本地网站教程】
✅ 安装并配置小皮面板(本地服务器)✅ 设置伪域名(可选)✅ 新建网站目录与数据库✅ 安装 WordPress 并完成配置✅ 成功运行 WordPress 网站现在你已经拥有了一个运行在本地的 WordPress 网站,适用于日常开发、学习、主题/插件调试等场景!📌提示WordPress 主题和插件开发MySQL 数据库备份与迁移将本地站点部署到线上服务器等内容。
2025-04-30 20:19:41
1134
原创 【使用层次序列构建二叉树(数据结构C)】
使用辅助队列可以按层次方式构建二叉树,代码逻辑清晰,效率也较高。在建树过程中,记得及时更新队列指针(例如)以避免插入错误。可结合三种遍历结果验证建树的正确性。
2025-04-25 19:39:19
529
原创 【从线性表到栈与队列 —— 顺序表实现的两种数据结构入门实践】
在学习完线性表之后,栈(Stack)与队列(Queue)作为线性表的一种特殊形式,是我们进一步学习数据结构的关键一步。这篇文章将通过具体代码示例,带大家了解栈和循环队列的基本原理和实现方式,帮助读者顺利从线性表的世界过渡到更抽象的数据结构中。本文中的实现均基于顺序表(也就是静态数组)的形式来完成,帮助初学者在熟悉的语境下理解新概念。
2025-04-09 09:10:20
266
原创 C/C++ 实现链式栈
链栈是通过链表实现的栈,具有动态分配、无栈满限制的优点;常见的两种链栈实现方式是“带头结点”和“不带头结点”;使用哪种方式可以根据需求和个人喜好选择;掌握链栈,是为后续理解表达式求值、括号匹配、递归调用等打好基础!如有问题也欢迎留言讨论交流~
2025-04-04 17:28:58
385
原创 带头结点 的单链表插入方法(头插法与尾插法)
在单链表的操作中,插入是最常见的操作之一,本文介绍。希望本文能帮助新手更好地学习C++链表的学习!仅作为占位符,不存储数据,链表的数据从。),并提供完整的 C++ 代码示例。两种插入方式的使用场景不同
2025-04-03 21:06:28
901
原创 不带头结点的单链表插入方法(头插法与尾插法)
首先,我们定义一个LNodeint data;// 数据域// 指针域,指向下一个结点在本示例中,链表不带头结点,即L直接指向首个数据结点。//输入3 4 5 6 7 9999一串整数,9999代表结束,通过头插法新建链表,并输出,通过尾插法新建链表,并输出。////注意输出要采用如下代码(因为OJ判题对空格敏感,因此需要用下面的打印代码来做)////打印链表中每个结点的值//{// while(L!=NULL)// {//打印当前结点数据//指向下一个结点// if(L!
2025-04-01 21:43:18
1018
原创 C/C++链表基础:单链表的插入、删除与查找(附完整代码)
链表(Linked List) 是一种常见的数据结构,它不同于数组,能够动态分配内存,不需要预先指定大小,因此在实际应用中十分灵活。本文将使用 单链表 来演示如何进行 插入、删除、查找 等基本操作,并提供完整的 C++ 代码,适合数据结构初学者学习和练习。
2025-04-01 21:37:45
667
2
原创 【 C 语言实现顺序表的基本操作】(数据结构)
可能涉及大量的数据移动,因此性能相对较低。下顺序表的基本操作,并提供完整的代码示例,供初学者学习。顺序表(Sequential List)是一种。由于存储位置是连续的,顺序表支持。✅ 适合小白学习,理解顺序表的原理和实现方式。,需要移动大量元素,最坏情况时间复杂度为。如果需要频繁插入/删除数据,建议使用。,避免数组越界错误。
2025-03-28 18:33:38
547
1
原创 链表的创建:头插法与尾插法详解(数据结构)
链表(Linked List)是一种重要的数据结构,适用于插入和删除操作频繁的场景。在 C++ 语言中,我们通常使用结构体(,新节点总是插入到链表头部,适用于。,以便深入理解链表的操作方式!依次插入新节点,适用于按。如果你是初学者,建议。
2025-03-26 21:43:12
763
原创 C++ 与 C 语言中的链表初始化方式对比(数据结构)
希望这篇文章能帮助你理解 C 和 C++ 中链表初始化的不同方式,选择适合你的代码风格!本文将介绍两种常见的初始化方法,并对其进行对比分析,帮助初学者理解并选择合适的方式。在 C 和 C++ 语言中,链表的初始化方式有所不同。,因为 C 不支持引用传递。,因为代码更直观,不需要。如果你使用的是 C++,如果你使用的是 C,
2025-03-26 21:21:46
648
原创 深入理解链表中的 p = p->next;操作
p是一个指针变量,存储的是节点的地址。p->next也是一个地址,指向下一个节点。只是让p存储新的地址,从而指向下一个节点。这一操作不会改变链表的结构,只是遍历链表时移动指针。可以类比为“换座位”来理解。希望这篇文章能帮你彻底搞懂的执行逻辑!如果你有任何疑问,欢迎在评论区留言讨论。
2025-03-24 17:55:41
466
原创 指针与引用的深度解析 (408数据结构入门)
在 C++ 语言中,引用是一种比指针更直观、安全的方式,能够避免空指针问题,提高代码的可读性。通过理解指针与引用的区别,C 语言的学习者可以更顺利地过渡到 C++,并编写出更优雅的代码。希望本文的示例和分析能帮助你更好地掌握这一重要概念!
2025-03-21 21:50:04
610
原创 C 语言格式化输入输出详解
在 C 语言编程中,printf和scanf是两个非常重要的标准输入输出函数。它们使用格式说明符(format specifier)来控制数据的输入和输出。本文将详细讲解格式说明符的组成部分,并结合示例说明其在 C 语言中的应用。
2025-03-18 21:12:44
716
原创 C 语言中 typedef struct 与 struct 的区别详解
不同系统的可能有不同的长度,使用typedef可以保证代码在不同平台上的一致性。方式适用场景优点缺点struct需要明确结构体标签的情况代码易读,结构清晰需要struct关键字,代码冗长需要简化结构体使用,提高可读性省略struct关键字,代码更简洁可能影响struct命名一致性(匿名结构体)只需定义类型,而不关心struct标签最简洁,减少命名冲突不能使用struct关键字访问在 C 语言编程中,如果你需要提高代码的可读性,避免struct关键字的冗余,推荐使用。如果你需要。
2025-03-18 21:03:39
1035
原创 深入理解 Java 中的 ArrayList 和 List:泛型与动态数组
它不固定大小,通常使用某种机制来管理数组的容量,例如每当数组满时,它会自动扩展容量。是一个类型系统的特性,允许你在定义类、接口或方法时使用类型参数,使得它们可以处理不同类型的数据而不需要改变代码本身。会分配一个固定的容量,但是当添加的元素超过当前容量时,它会自动扩展,并将元素重新复制到一个更大的数组中。动态数组和泛型是两个不同的概念,但它们经常一起使用,特别是在集合框架中。动态数组和泛型虽然是不同的概念,但它们通常是一起使用的。就是一个动态数组的实现,并且它是使用泛型来处理不同类型的数据的。
2024-12-22 12:28:31
1405
原创 基于文件流的图书管理系统(C/C++实现)
添加图书:用户可以输入图书信息,将图书数据保存到文件中。删除图书:支持按图书编号或图书名称删除图书信息。修改图书信息:用户可以修改已有图书的信息。查询图书:支持按图书编号或名称查询图书信息。显示图书列表:展示所有图书的信息。首先实现两个比较容易实现的功能 add() 和list()#include//引入文件流//定义一个结构体用于封装图书信息int no;// 编号// 书名// 作者// 出版社// 价格// 分类Book book;
2024-12-20 11:47:56
334
原创 基于MYSQL的图书管理系统(C/C++实现)
通过本次课设,加深了我对《C++程序设计》课程的理论知识的巩固、理解和掌握以及综合应用能力的锻炼。在课程设计期间与老师探讨写代码遇到的问题,也学会了怎么独立的去解决问题,培养了我们查阅资料、独立思考、刻苦钻研和创新的意识。将书本上抽象的概念与具体的实现技术相结合,体会C++语言的设计与实现过程,培养解决问题的实际能力。通过该设计,理解并掌握了C++面向对象,连接数据库和使用文件流的方法,对C++语言有更深刻的理解,希望以后会在这次基础上完成更多的项目,不断地积累和学习。
2024-12-20 11:21:13
415
原创 理解折半查找法
折半查找法通过每次将查找范围缩小一半,显著提高了查找效率。在有序数组中,我们能够在 (O(\log n)) 的时间复杂度内查找到目标元素。每次对数组元素的访问都是必要的,避免了线性查找中的不必要访问,使得内存访问更加高效。对于大规模数据集,折半查找法是一种理想的查找方法。
2024-11-22 22:17:59
907
原创 递归算法的由浅入深讲解及代码示例
析构函数是一个类中的特殊成员函数,其主要功能是对对象进行销毁之前的清理操作。析构函数的声明方式与构造函数类似,但它的名称必须与类名相同,前面加一个波浪号。
2024-11-22 22:02:27
878
原创 C++析构函数详解
析构函数是一个类中的特殊成员函数,其主要功能是对对象进行销毁之前的清理操作。析构函数的声明方式与构造函数类似,但它的名称必须与类名相同,前面加一个波浪号。
2024-11-17 23:10:45
1442
原创 C++构造函数详解
构造函数是 C++ 中非常重要的一部分,它帮助我们初始化对象的状态,确保对象在创建时处于一个有效的状态。通过理解无参构造函数、带参构造函数、初始化列表、构造函数重载等内容,我们可以更加灵活地使用构造函数来创建和初始化对象。
2024-11-17 23:08:44
972
原创 什么是JavaBean?
在Java开发中,JavaBean是一个非常实用且常见的设计模式,它用于简洁、高效地封装和传递数据。随着Java应用的广泛使用,JavaBean成为许多开发者不可或缺的工具。在本文中,我们将详细介绍JavaBean的概念、特点以及它在实际开发中的应用场景。JavaBean是一个符合特定规范的Java类,主要用于封装数据并通过标准的getter和setter方法访问这些数据。
2024-10-24 17:46:27
1298
1
原创 信号量的实现原理解析
信号量是操作系统中解决并发访问的强大工具。理解信号量的实现原理,特别是其数据结构和基本操作,对于开发安全、高效的并发应用至关重要。通过合理使用信号量,开发者可以有效地避免资源竞争问题,提高系统的可靠性和性能。
2024-10-24 17:34:17
426
原创 使用JavaBean和JSP处理表单数据
JavaBean用于封装学生的基本信息(如姓名、学号、性别、年龄和爱好)。通过一个表单让用户输入这些信息,并提交到服务器。使用JSP中的和标签,将用户提交的数据映射到JavaBean对象。在JSP页面中展示用户输入的学生信息。接下来,我们会逐步实现这些需求。通过以上示例,我们展示了如何在JSP中使用JavaBean处理表单数据。这种做法将表单数据封装到JavaBean中,不仅简化了JSP页面的逻辑处理,还提高了代码的可维护性。JavaBean。
2024-10-24 17:33:21
1656
原创 操作系统中的信号量[C/C++]
信号量是一个整型计数器,能够记录当前可用资源的数量。进程同步和互斥访问。进程同步是指控制多个进程在某些特定时刻的执行顺序,确保资源的共享不会导致问题。互斥访问则确保同一时间只有一个进程能够访问共享资源,以防止并发引发的数据不一致问题。信号量可以分为两种类型计数信号量(Counting Semaphore):它用于管理多个资源的并发访问,信号量的初始值为资源的数量。每次进程获取资源时,信号量减1;释放资源时,信号量加1。二进制信号量(Binary Semaphore):它的值只能是0或1,用来实现类似。
2024-10-23 17:57:28
968
原创 我的创作纪念日
通过文章,我可以将解决问题的思路、开发的技巧传递给更多人,这让我感到十分充实。我积累了一定数量的粉丝,也因此认识了许多在技术领域有深入研究的朋友,我们经常讨论最新的技术趋势和开发技巧。在职业规划方面,我希望能够进一步深耕自己所擅长的领域,特别是在系统设计与性能优化方面取得更大的突破。让我印象最深的是我写过的一段优化代码,这段代码大幅提升了项目中数据处理的效率。总之,创作不仅是我成长路上的见证,更是我与技术社区的一座桥梁。
2024-10-23 17:35:52
364
原创 【信号量】
信号量通常由一个整型变量和一个等待队列组成。整型变量用于表示可用资源的数量,等待队列用于存放那些因资源不足而被阻塞的进程或线程¹²。如果值大于0,表示有可用资源,信号量值减1,进程继续执行。:使用适当的数据结构(如链表)来管理等待队列,以便高效地添加和唤醒进程¹²。- 如果信号量值为0,表示没有可用资源,进程被阻塞并加入等待队列¹²。- 如果有进程在等待队列中,则唤醒一个等待的进程,使其继续执行¹²。:P操作和V操作必须是原子操作,确保在多线程环境下不会出现竞态条件。// 从等待队列中移除一个进程并唤醒。
2024-10-23 16:33:46
340
原创 【使用Java循环输出菱形,空心金字塔】
通过这篇博客,我们深入探讨了使用Java循环输出各种图形的方法。掌握这些基本技巧不仅能提升我们的编程能力,还能为后续更复杂的编程挑战打下坚实的基础。希望你们能在实践中继续探索和创造出更多有趣的图形!
2024-10-11 23:03:43
505
原创 深入理解 C/C++ 指针
简单来说,指针是一个保存了内存地址的变量。普通变量存储的是数据本身,而指针存储的是某个变量的内存地址。可以通过指针访问到该内存地址中存储的数据。p保存的是a的地址(指针)。*p解引用p,表示我们访问了a的值(实际数据)。
2024-10-11 22:48:55
2197
1
原创 【多重循环在Java中的应用】
多重循环是将一个循环嵌套在另一个循环体内的编程结构。Java中的forwhile和do...while循环均可作为外层循环和内层循环。建议使用两层嵌套,最多不超过三层,以保持代码的可读性。在多重循环中,外层循环执行的次数为 (m),内层循环执行的次数为 (n),则内层循环实际上会被执行 (m \times n) 次。
2024-10-08 23:08:23
528
原创 【Java 循环控制实例详解【While & do... while】】
在 Java 中,循环控制是程序设计中非常重要的部分,主要包括while循环和do...while循环。本文将详细介绍这两种循环的基本语法、执行流程及相关示例。
2024-10-08 22:54:45
868
原创 Java EE中的编码问题及解决方案
确保所有数据输入、处理和输出环节中的编码一致,能够有效避免乱码问题。这包括表单提交、JSP页面、Servlet响应、数据库交互及任何外部文件的读取和写入等。通过以上的编码设置,可以提高应用程序的健壮性和用户体验。希望本文能帮助您在Java EE开发中顺利处理字符编码问题!
2024-09-26 22:22:15
1009
原创 【理解 Java 中的 for 循环】
for循环是 Java 中用于迭代的常用控制结构,它可以帮助我们重复执行某段代码,直到满足特定条件。本文将介绍for循环的基本语法、执行流程、注意事项及一些练习。
2024-09-26 22:03:52
590
原创 深入理解 Java 中的 Switch 语句
在 Java 编程中,switch语句是一种强大的控制结构,能够根据表达式的值选择执行不同的代码块。本文将详细介绍switch的基本语法、使用案例、注意事项以及与if语句的选择。
2024-09-26 12:20:58
1262
原创 面向对象 vs 面向过程
是一门面向过程的语言,数据和操作是分离的,程序通过函数调用来组织逻辑。虽然函数可以复用,但代码的扩展性和维护性较差。每个函数独立工作,缺少类和对象的封装能力。
2024-09-22 16:12:39
964
原创 【JSP `page` 指令详解:构建高效的动态网页】
JSPpage指令为开发者提供了多种方式来控制页面的行为及其生成的 Servlet 的特性。通过合理使用这些属性,可以提高页面的性能、灵活性和安全性。无论是导入 Java 类、管理会话、控制线程安全还是处理错误,page指令都为 JSP 开发提供了强大的配置选项。希望这篇文章能帮助到你们更好地理解和使用 JSP 的page指令,大家一起努力吧!!!唯手熟尔!!!!
2024-09-12 22:18:25
1028
原创 【C语言 vs C++:编译过程详解与对比】
在现代编程中,编译是将源代码转换为计算机可以执行的机器码的过程。步骤 1: 预处理 (Preprocessing)编译器首先对代码进行预处理,处理指令如#include和#define。这一步生成一个预处理后的文件,扩展名为.i。步骤 2: 编译 (Compilation)预处理后的代码被编译成汇编语言,生成.s文件(汇编代码)。步骤 3: 汇编 (Assembly)汇编器将汇编代码转换为机器码,生成.o文件(目标文件)。步骤 4: 链接 (Linking)
2024-09-11 09:49:39
1144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人