自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【C#】C#编程基础:探索控制台应用与数据操作

本文旨在为C#语言的初学者提供一个全面的入门指南,涵盖了控制台项目的基本使用、数据类型的转换、字符串与数组的操作、引用类型与值类型的区别、常量与枚举的使用等多个方面。通过详细的代码示例和解释,读者可以逐步理解C#编程的基础知识,并为进一步的学习打下坚实的基础。本文详细介绍了C#编程中的一些核心概念和常用操作。首先,我们探讨了控制台项目的使用方法,包括如何在控制台中输入和输出数据。接着,我们深入讨论了数值的隐式类型转换和强制类型转换,以及字符串的强制转换和万能转换器的使用。

2024-11-17 16:31:46 560

原创 【C#】C#编程入门指南:构建你的.NET开发基础

在当今的软件开发领域,C# 作为一种功能强大且广泛使用的编程语言,已经成为许多开发者的首选。它以其简洁的语法、强大的面向对象特性以及与.NET框架的紧密集成而闻名。本文旨在为初学者提供一个全面的C#学习指南,从开发环境的搭建到代码的编写、编译、运行,再到深入理解C#的核心概念,如托管代码、命名空间、类的结构、数据类型等。通过这篇文章,读者将能够建立起对C#编程基础的清晰认识,并为进一步的学习和实践打下坚实的基础。

2024-11-15 15:23:48 1117

原创 【Java】掌握Java:基础概念与核心技能

在计算机编程的众多语言中,Java以其独特的优势和广泛的应用领域,成为了学习和使用的首选。对于初学者而言,理解Java的基础概念和语法是至关重要的。本文旨在为读者提供一个系统的Java基础知识概览,包括注释的使用、字面量的理解、变量的定义与数据类型、方法的运用、类型转换的规则以及表达式的自动类型提升等。通过这些基础知识的学习,读者将能够构建起对Java编程语言的基本认识,为进一步的学习和实践打下坚实的基础。// 定义一个方法,来学习变量的定义// 定义一个变量,保存一个整数值。

2024-09-22 22:55:21 1061 1

原创 【Java】Java开发全攻略:从环境搭建到高效编程

Java,这个让代码世界转动的神奇语言。不管你是刚踏入编程大门的新手,还是已经在这个领域摸爬滚打多年的老手,Java总有一些新东西值得你探索。今天,我们要聊聊如何搭建一个高效、舒适的Java开发环境。从JDK的安装到环境变量的配置,再到选择一款称手的开发工具,比如IntelliJ IDEA,这篇文章将带你一探究竟。准备好了吗?让我们开始这段Java开发之旅吧!我们的Java开发环境搭建之旅就到这里。希望这篇文章能帮你在Java的世界里畅游无阻。

2024-09-22 11:04:46 751

原创 【题解】199.二叉树的右视图(二叉树、bfs、dfs)

【代码】【题解】199.二叉树的右视图(二叉树、bfs、dfs)

2024-08-27 11:26:02 251

原创 【题解】230. 二叉搜索树中第 K 小的元素 (二叉搜索树、dfs、中序遍历)

【代码】【题解】230. 二叉搜索树中第 K 小的元素 (二叉搜索树、dfs、中序遍历)

2024-08-26 10:14:28 203

原创 【题解】41. 缺失的第一个正数(数组、哈希表)

利用数组的索引作为哈希表的位置,将每个元素放置到其对应的索引位置。这样,我们可以在原地进行操作,不需要额外的空间。

2024-08-25 21:58:10 208

原创 【题解】53. 最大子数组和 (数组、动态规划)

【代码】【题解】53. 最大子数组和 (数组、动态规划)

2024-08-24 21:49:25 245

原创 【项目】微服务及时通讯系统:编写核心类

在构建现代微服务架构的即时通讯系统时,核心数据结构的设计是至关重要的。它们不仅决定了系统的性能和可扩展性,而且也影响着用户交互的直观性和便捷性。本文将深入探讨即时通讯系统中的三个核心数据结构:用户信息、会话信息和消息信息,以及它们是如何在C++和Qt框架下实现的。通过详细解析这些数据结构的设计和实现,我们希望能够为开发者提供一个清晰的指导,帮助他们构建高效、稳定且用户友好的即时通讯应用。

2024-08-24 09:02:15 1431

原创 【项目】微服务及时通讯系统:客户端环境搭建

下载在线安装工具Qt6 相比 Qt5 在模块重组、图形渲染、性能优化和 C++ 标准支持方面都有显著改进,但不完全向后兼容,需要对旧代码进行调整。Qt6项目中,一旦代码规模变大了,使用MinGW编译速度就会慢很多。MSVC:vs自带编译器,必须配合VS2019 及其以上版。

2024-08-23 09:52:09 382

原创 【题解】128. 最长连续序列(数组、哈希表)

【代码】【题解】128. 最长连续序列(数组、哈希表)

2024-08-21 11:27:15 208

原创 【数据结构】数据结构 知识回顾

栈 (Stack)定义:遵循“后进先出”(LIFO)原则。最后插入的元素最先被取出。主要操作:入栈、出栈、查看栈顶、判断空栈。应用:函数调用、浏览器历史记录。队列 (Queue)定义:遵循“先进先出”(FIFO)原则。最早插入的元素最先被取出。主要操作:入队、出队、查看队头、判断空队列。应用:任务调度、数据缓冲。关系操作方式:栈在一端操作(栈顶),队列在两端操作(队头和队尾)。实现:栈和队列可以通过数组或链表实现,但操作规则不同。哈希。

2024-08-17 15:22:33 1399

原创 【题解】1768. 交替合并字符串 (双指针、字符串)

【代码】【题解】1768. 交替合并字符串 (双指针、字符串)

2024-08-17 11:02:31 213

原创 【C++】STL 知识回顾

容器通过空间配置器管理内存。容器使用迭代器来暴露其数据,使算法可以进行操作。算法使用迭代器访问容器中的数据,并且可以通过仿函数自定义操作行为。适配器通过组合现有的容器和算法提供新的数据结构和功能。仿函数提供自定义的操作逻辑,通常作为算法的参数。空间配置器管理容器的内存,以支持容器的高效存储和操作。

2024-08-16 16:56:27 1033

原创 【题解】11.盛最多水的容器(贪心、数组、双指针)

模式识别:需要移动左右两头的问题可以考虑双指针。

2024-08-15 10:15:39 254

原创 【题解】49. 字母异位词分组 (数组、哈希表、字符串、排序)

【代码】【题解】49. 字母异位词分组 (数组、哈希表、字符串、排序)

2024-08-12 21:28:55 310

原创 【题解】1. 两数之和 (数组、哈希表)

【代码】【题解】1. 两数之和 (数组、哈希表)

2024-08-12 09:53:01 247

原创 【C/C++】语言基础知识回顾

内存对齐:自定义类型的内存对齐是确保数据在内存中按照特定字节边界排列,以提高访问效率和满足硬件要求。内存对齐的规则:第一个成员在与结构体变量偏移量为0的位置其他成员变量要对齐到对齐数的整数倍位置对齐数 = min( 编译器默认的对齐数 , 该成员变量大小 ) , VS下默认对齐数为8结构体总大小为每一个成员变量的最大对齐数的整数倍修改默认对齐数的方法: #pragma pack(8) , 设置默认对齐数为8为什么要有内存对齐为了平台的可移植。

2024-08-11 22:02:06 1082

原创 【Linux】Linux中查找字符串中的命令

在Linux中,查找字符串的命令通常使用grep。grep是一个强大的工具,用于在文件中搜索指定模式的字符串。

2024-08-09 11:56:38 682

原创 【嵌入式】串行通信总线技术解析:从UART到RS485、IIC和SPI

在现代电子通信领域,串行通信总线扮演着至关重要的角色,它们是电子设备之间数据交换的桥梁。串行通信以其灵活性和成本效益,在嵌入式系统和各种外设之间建立了高效的通信链路。本文将深入探讨几种常见的串行通信协议:UART、RS232、RS485、IIC和SPI。通过详细的介绍和比较,我们将了解这些协议的工作原理、特点以及它们在实际应用中的适用场景。文章将从基础概念入手,逐步深入到具体的实现和应用,为读者提供全面的技术视角。

2024-08-07 21:14:18 946

原创 【Qt】Qt音频处理入门:使用QSound类播放WAV音频

类只支持播放wav格式音频文件。也就是说如果想添加音频效果,那么首先需要将非wav格式的音频文件转换为wav格式。需要模块: multimedia 模块。多媒体:播放声音、播放视频。在Qt中,音频主要是通过。

2024-08-06 12:29:10 719 1

原创 【Qt】探索Qt网络编程:构建高效通信应用

在当今信息化社会,网络编程已成为软件开发中不可或缺的一部分。Qt,作为一个跨平台的应用程序框架,提供了丰富的网络编程API,使得开发者能够便捷地实现客户端和服务器之间的通信。本文将深入探讨Qt网络编程的基本概念、核心API以及实际应用示例,帮助读者理解并掌握使用Qt进行网络编程的方法。网络编程,操作系统提供了一组API(Socket API)C++标准库中,并没有提供网络编程的 api 的封装。进行网络编程的时候,本质是在编写应用层代码,需要传输层进行支持。

2024-08-06 11:41:15 1117

原创 【问题】C++:有哪些类型的智能指针,区别?

智能指针是一种在 C++ 中管理动态分配内存的工具,可以帮助避免内存泄漏和提高程序的安全性。在 C++11 标准引入之后,C++ 提供了三种主要类型的智能指针,它们分别是和。这些智能指针有不同的所有权管理方式和适用场景。

2024-08-04 16:43:13 405

原创 【问题】C++:指针和引用的区别?

指针是一个变量,其存储的是另一个变量的地址。定义指针时需要使用星号(),如int *ptr;定义了一个指向整数的指针。引用是一个别名,它实际上是已存在变量的另一个名字。引用在定义时使用符号,如将ref定义为的引用。

2024-08-04 12:22:15 292

原创 【问题】C++:面向对象的三大特性?

这三大特性共同构成了面向对象编程的基础,使得程序设计更加灵活、易于扩展和维护。

2024-08-04 12:10:42 244

原创 【题解】189. 轮转数组(数组、数学、双指针)

【代码】【题解】189. 轮转数组(数组、数学、双指针)

2024-08-04 12:02:45 225

原创 【Linux】网络架构探秘:网络层功能、IP协议详解及路由过程指南

在当今数字化时代,网络已成为人们生活中不可或缺的一部分。无论是工作、学习还是娱乐,网络都扮演着极其重要的角色。而网络层作为整个网络架构中的核心部分,其功能和原理是确保网络通信顺畅进行的关键。本文将深入探讨网络层的基本功能、IP协议的工作原理以及路由过程,旨在为读者提供一个全面的网络层知识框架。从IP地址的分配到数据包的传输,我们将一一解析这些复杂概念,使读者能够更好地理解网络的工作原理。本文详细介绍了网络层的功能、IP协议的细节以及路由过程的工作原理。

2024-08-01 12:02:04 1535

原创 【题解】1448. 统计二叉树中好节点的数目(二叉树、深度优先)

【代码】【题解】1448. 统计二叉树中好节点的数目(二叉树、深度优先)

2024-07-30 09:34:23 152

原创 【Linux】TCP全解析:构建可靠的网络通信桥梁

在计算机网络中,传输层协议扮演着至关重要的角色,它们负责在网络中的主机之间可靠地传输数据。其中,TCP(传输控制协议)和UDP(用户数据报协议)是最常见的两种传输层协议。TCP以其可靠性、有序性和流量控制等特性,成为了许多关键应用的首选协议,如文件传输、电子邮件、Web 服务等。然而,TCP的复杂性和性能开销也使得它在某些场景下不如UDP灵活和高效。本文将深入探讨TCP协议的各个方面,从其基本机制到高级特性,再到与UDP的对比,帮助读者全面理解TCP的工作原理和应用场景。

2024-07-29 22:41:58 1377

原创 【题解】104. 二叉树的最大深度(二叉树、dfs、bfs)

【代码】【题解】104. 二叉树的最大深度(二叉树、dfs、bfs)

2024-07-29 09:56:01 239

原创 【题解】328. 奇偶链表(链表)

【代码】【题解】328. 奇偶链表(链表)

2024-07-28 16:00:47 160

原创 【题解】71. 简化路径(栈、字符串)

【代码】【题解】71. 简化路径(栈、字符串)

2024-07-27 09:43:42 239

原创 【题解】228. 汇总区间 (数组)

【代码】【题解】228. 汇总区间 (数组)

2024-07-26 16:49:00 395

原创 【Linux】网络通信基础:深入解析传输层与UDP协议

在计算机网络的世界中,传输层扮演着至关重要的角色,它确保了数据能够安全、有效地从发送端传输到接收端。本文将深入探讨传输层的基本概念、UDP协议的特点以及它在现代网络通信中的应用。通过本篇文章,读者将对传输层有一个全面的了解,包括端口号的重要性、UDP协议的工作原理以及它在不同应用层协议中的使用方式。文章将从基础概念出发,逐步深入到技术细节,旨在帮助读者构建起对网络传输层的深刻认识。本文详细讨论了传输层的基本概念,包括端口号的作用、端口号的划分以及知名端口号的识别。

2024-07-26 08:29:11 921

原创 【Linux】网络通信基础:应用层协议、HTTP、序列化与会话管理

在现代计算机网络通信中,应用层协议扮演着至关重要的角色,它们定义了客户端和服务器之间如何交换数据。本文将深入探讨应用层自定义协议与序列化技术,并详细解析HTTP协议,这是互联网上使用最广泛的应用层协议之一。通过本文,读者将能够理解应用层的概念、协议的重要性、序列化与反序列化的过程,以及HTTP协议的工作原理和相关技术细节。我们程序员写的一个个解决我们实际问题, 满足我们日常需求的网络程序, 都是在应用层。

2024-07-25 17:33:19 1646

原创 【题解】205. 同构字符串(哈希表、字符串)

【代码】【题解】205. 同构字符串(哈希表、字符串)

2024-07-25 15:03:17 330

原创 【题解】209. 长度最小的子数组 (数组、滑动窗口)

【代码】【题解】209. 长度最小的子数组 (数组、滑动窗口)

2024-07-23 16:39:32 245

原创 【题解】167. 两数之和 II - 输入有序数组(数组、双指针、二分查找)

【代码】【题解】167. 两数之和 II - 输入有序数组(数组、双指针、二分查找)

2024-07-22 12:17:29 253

原创 【题解】392. 判断子序列 (字符串、双指针、队列)

【代码】【题解】392. 判断子序列 (字符串、双指针、队列)

2024-07-21 15:40:45 238

原创 【C++】深入理解函数重载:C语言与C++的对比

在编程的世界里,函数重载是一个常见且强大的特性。它允许程序员使用同一个函数名来处理不同数据类型的操作,从而提高代码的可读性和可维护性。本文将深入探讨函数重载的概念、条件、价值以及在C语言和C++中的实现方式。在自然语言中,一个词可以有多重含义,人们可以通过上下文来判断该词的真实含义,这种现象被称为“重载”。在编程语言中,函数重载也允许一个函数名对应多个不同的实现。例如,在C++中,可以定义多个同名函数,但它们的参数类型、参数个数或参数顺序必须不同。

2024-07-19 22:40:34 1010

探索嵌入式世界:在ARM上构建俄罗斯方块游戏的奇妙之旅

随着嵌入式技术的快速发展,嵌入式系统在各个领域的应用日益广泛。本项目以ARM开发板GEC6818为平台,基于嵌入式Linux操作系统,实现了一款具有基本功能的俄罗斯方块游戏。游戏设计遵循模块化思想,将系统分解为图形显示、触摸事件处理、游戏控制、界面显示、链表管理、移动逻辑以及主控等多个模块,以提高代码的可维护性和扩展性。通过C语言编程,利用多线程技术,实现了方块的移动、变形、随机生成、触屏控制、暂停恢复、嵌套消行和计分等功能。游戏界面简洁直观,提供了分数和等级显示,确保玩家能够轻松跟踪游戏进度。在性能方面,游戏运行流畅,代码规范,附有详细注释和文档,便于理解和维护。此外,通过全面测试,确保了游戏的稳定性和可靠性。最终,本项目不仅锻炼了嵌入式系统开发能力,也提供了一个既具有挑战性又富有趣味性的游戏体验。

2024-07-01

C51C51单片机实现的 抽奖机 设计与编程指南

我们将介绍如何使用C51单片机来实现一个简单的抽奖机。这个项目不仅能够展示C51单片机的基本应用,还能让我们了解如何通过编程来控制硬件,实现有趣的交互功能。我们将从实现效果、准备工作、到编写代码,一步步引导读者完成整个抽奖机的制作流程。

2024-06-09

C51电子生日贺卡项目

C51电子生日贺卡项目

2024-06-09

c语言扫雷游戏(包含递归展开+标记功能) 源码可运行

扫雷是一款经典而富有挑战性的电脑游戏,它不仅考验玩家的智力和策略,还能够提升观察力和反应能力。本文将介绍如何使用**C语言**来编写一个简单的**扫雷游戏**,让我们一起来开发这个有趣的项目吧!

2023-07-28

c语言震惊!300行代码教你写出N子棋无敌AI人机(三子棋(井字棋)、四子棋、五子棋和六子棋等)

N子棋(完整代码+vs工程文件)

2023-07-26

数据结构顺序表 C语言代码实现以及realloc的使用

数据结构顺序表 C语言代码实现以及realloc的使用

2023-07-09

空空如也

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

TA关注的人

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