自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 类与对象 Chapter 3

在这篇博客文章中,我们重新审视了类与对象相关的多个关键概念,包括构造函数的细节、static成员的使用、友员的声明、内部类的实现,以及匿名对象和拷贝对象时编译器的优化技巧。

2024-08-05 14:27:52 911

原创 类与对象 Chapter 2

在这篇博客中,详细介绍了类的六个默认成员函数,包括构造函数、析构函数、拷贝构造函数、赋值运算符重载、const成员函数以及取地址和const取地址操作符重载。这些默认成员函数在类的生命周期中起着至关重要的作用,它们帮助我们管理对象的创建、复制、修改和销毁。理解并正确使用这些默认成员函数,可以帮助我们编写出更加健壮、高效和易于维护的代码。​​​​​​​

2024-08-05 14:21:46 1077

原创 类与对象 Chapter 1

本篇博客旨在向读者介绍C++语言中类与对象的理论基础与实践应用。

2024-07-31 15:51:01 756

原创 C++入门

C++以其强大的类型系统、丰富的抽象机制以及高效的运行时性能,成为众多领域开发者的首选语言。

2024-07-31 14:04:22 986

原创 C++前言

C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危机,20世纪80年代,计算机界提出了OOP(object oriented programming:面向对象)思想,支持面向对象的程序设计语言应运而生。1982年,Bjarne Stroustrup博士在C语言的基础上引入并扩充了面向对象的概念,发明了一种新的程序语言。为了表达改语言与C语言的渊源关系,命名为C++。

2024-07-29 19:51:11 885

原创 外排序之文件归并排序实现

外排序介绍外排序(External sorting)是指能够处理极大量数据的排序算法。通常来说,外排序处理的数据不能一次装入内存,只能放在读写较慢的外存储器(通常是硬盘)上。外排序通常采用的是一种“排序-归并”的策略。在排序阶段,先读入能放在内存中的数据量,将其排序输出到⼀个临时文件,依此进行,将待排序数据组织为多个有序的临时文件。然后在归并阶段将这些临时文件组合为⼀个大的有序文件,也即排序结果。跟外排序对应的就是内排序,之前讲的常见的排序,都是内排序,它们排序思想适应的是数据在内存中,支持随机访问。

2024-07-28 16:27:47 422

原创 * 快速排序的深入优化探讨

本篇博客系统性地剖析了快速排序的几种关键优化策略。首先探讨了Hoare和Lomuto的单趟排序技术,这两种方法通过独特的分区方式改善了算法在特定条件下的性能,并简化了实现逻辑。随后,我们详细讨论了三路划分算法,该算法通过将数组分为三部分来减少递归深度并优化处理各种数据分布的能力。这些深入的优化手段不仅在理论上增强快速排序的稳定性和效率,也极大地提升了其在实际应用场景中的可用性。希望读者能够通过本文,加深对快速排序及其优化方法的理解,并在未来的技术挑战中有效运用这些知识,以实现更高效的数据处理解决方案。

2024-07-28 11:37:55 996

原创 Chapter 6: 排序

在本篇博客中,详细介绍了几种常见的排序算法,并使用C语言进行了实现。这些算法各有优劣,在不同的应用场景下有不同的性能表现。例如,冒泡排序、插入排序和选择排序在处理小规模数据时效率较高,但在大规模数据下可能会表现出较低的效率;而快速排序和归并排序虽然在最坏情况下的时间复杂度较高,但在实际的平均情况下,它们的效率通常优于前者。因此,选择合适的排序算法要根据实际的数据规模和需求来决定。同时,我们还了解了C语言中的指针和数组操作,这对于理解这些排序算法的实现是非常重要的。

2024-07-27 21:21:50 792

原创 Chapter 5: 二叉树详解

经过本文的学习和讨论,我们不仅了解了二叉树的基本定义和特性,还深入学习了如何在C语言中具体实现二叉树的各种操作,包括节点的添加、删除、查找,以及不同的遍历方法。通过实际的代码示例和操作分析,可以发现二叉树在数据存储和快速检索方面的优势,特别是在处理大量数据时更显其重要性。二叉树的应用不仅限于理论知识,它在现实世界的许多问题解决中也发挥着巨大作用,如优先级队列、索引结构等。通过本篇文章,希望读者能够对二叉树的结构有更深刻的认识,并在今后的编程实践中有效运用这一工具,以提高程序的效率和性能。

2024-07-21 19:25:31 869

原创 Chapter 4: 栈和队列

通过详细的介绍和示例,我们可以深刻理解栈和队列在数据存储和访问方式上的根本区别。栈的后进先出原则使其在解决函数调用、表达式求值等问题中表现突出,而队列的先进先出特性则让其在任务调度、消息处理等场景中发挥着关键作用。使用C语言实现这两种数据结构,不仅让我们更加了解它们的工作原理,还提供了实际操作的经验,增强了我们调试和解决问题的能力。正确的选择和使用栈或队列,能够显著影响程序的性能和可靠性。希望本文的内容能够帮助读者在今后的学习和工作中,更加灵活和有效地应用栈和队列,进而编写出更加高效的代码。

2024-07-17 14:55:12 996

原创 Chapter 3: 顺序表和链表

本篇博客通过对链表和顺序表的详细探讨,可以发现两者各有优势和局限。顺序表提供了快速的随机访问能力,但受限于预先分配的固定空间,其插入和删除操作相对效率较低。而链表虽然在随机访问上不如顺序表,但其动态的内存分配和高效的插入删除操作使其在处理大量不确定数据时显得更为灵活。在实际应用中,选择哪种数据结构,应基于具体的应用需求,考虑数据量的大小、操作的频繁程度及场景的特点。希望通过本文的介绍,读者能够对这两种基础数据结构有更深的理解,并有效地应用在实际的C语言编程项目中,从而编写出更高效、更高质量的代码。

2024-07-15 16:18:45 848

原创 Chapter 2:算法的时间复杂度和空间复杂度

本文详细介绍了时间复杂度和空间复杂度的概念、计算方法以及它们在算法分析和优化中的应用。通过学习这两种复杂度,我们可以更好地评估不同算法的性能,从而在实际应用中选择更合适的算法。同时,还讨论了一些常见的时间复杂度和空间复杂度示例,以帮助读者更好地理解和应用这些知识。总之,掌握时间复杂度和空间复杂度对于编写高效、可靠的代码具有重要意义。

2024-07-13 20:44:33 1047

原创 Chapter 1:数据结构前言

数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的 数据元素的集合。顺序表链表CPU读取数据,链表可能发生缓存污染算法(Algorithm)就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。

2024-07-12 18:13:28 605

原创 : ) 万字项目实践指南——贪吃蛇 手把手教你写出自己的小游戏!

尝试通过C语言实现自己的贪吃蛇游戏吧!

2024-02-23 16:24:15 953

原创 编译和链接

编译和链接是软件开发中非常重要的步骤,可以将一个大型的应用程序分解成更小、更好管理的模块,这些模块可以独立地修改和编译。这样可以并行开发,提高团队协作的效率。编译程序生成的目标代码的执行速度通常比解释执行的程序要快。这是因为编译型语言在程序运行前就已经转换为机器语言,而解释型语言需要在运行时逐行翻译,这会增加额外的时间开销。编译过程中可以进行各种优化,比如删除未使用的代码、优化数据结构等,以减少程序运行时的内存占用。了解编译链接的过程有助于开发者更好地理解程序的运行机制,从而在编写代码时避免一些安全漏洞。

2024-02-07 15:19:42 937 1

原创 C语言文件操作详解

上面函数适用于所有输入流一般指适用于标准输入流和其他输入流(如文件输入流),所有输出流一般指适用于标准输出流和其他输出流(如文件输出流)。int main()//文件操作return 1;int i = 0;for (i = 0;i < 26;pf = NULL;return 0;运行结果:如果将以上代码 for 循环中的 pf 改成 stdout 就会将数据输出到屏幕上(关联屏幕的标准输出流stdout)

2024-02-04 18:10:59 1124 1

原创 自定义类型:结构体

结构体在C语言中占据着极其重要的地位,它不仅是基础语法的组成部分,也是构建复杂数据结构的基石。首先,结构体是C语言中一种复合的数据类型,它可以包含不同类型的数据成员,这使得它在组织和管理相关数据时非常有用。其次,结构体与指针的结合使用是C语言中的一个高级特性,它极大地丰富了C语言的表达能力,使得程序员可以创建复杂的数据结构和算法。通过指针,可以动态地分配和访问结构体变量,这在实现链表、树等数据结构时尤为重要。再者,结构体在内存中的存储方式也值得关注。

2024-01-28 17:13:24 871

原创 数据在内存中的存储

超过一个字节的数据在内存中存储的时候,会有存储顺序的问题。按照不同的存储顺序,分为大端字节序存储和小端字节序存储。大端(存储)模式:数据的低位字节内容保存在内存的高地址处,而数据的高位字节内容,保存在内存的低地址处。小端(存储)模式:数据的低位字节内容保存在内存的低地址处,而数据的高位字节内容,保存在内存的高地址处。了解数据在内存中的存储有助于我们更好地理解计算机系统的工作方式,编写高效的程序。还可以提高代码效率、避免内存泄漏、提高代码可读性、可移植性和安全性。

2024-01-28 15:28:05 1018

原创 字符函数和字符串函数

字符函数和字符串函数在C语言中的重要性主要体现在数据处理、程序逻辑、安全性、效率以及可读性等方面。掌握这些函数的使用对于编写高质量的C语言程序至关重要。

2024-01-22 15:50:23 896

原创 C语言的内存函数

以上就是今天要讲的内容,本文通过举例,仅仅简单介绍了C语言内存函数的使用和模拟实现。在C语言程序设计中,内存函数扮演着至关重要的角色,熟练使用这些函数,可以使我们在编写程序时省时省力,当然,通过模拟这些函数,可以更加深入了解函数内部的原理。总之,这些内存函数是C语言中不可或缺的部分,它们是程序员的得力“助手”,为程序员们编写出高效、健壮的程序提供了很大帮助!

2024-01-21 22:25:16 1177

原创 深入理解指针 * chapter 4

指针在C语言中的地位非常重要,它是最基础和最重要的概念之一。指针的存在让C语言可以进行复杂的内存操作,更好地控制程序的行为,同时也能够实现高效的数据结构和算法。通过指针能实现所谓的“传引用”而不是“传值”,这在函数参数传递时可以有效地改变参数的值,而不仅仅是复制一份参数的值,从而在本质上节约了数据传输性能。其次,C语言支持指针的运算(对指针加减,甚至取指针),这是C语言强大的地方。同时,指针也用于表示和实现各种复杂的数据结构,比如系统地动态分配内存、消息机制、任务调度等。

2024-01-21 20:44:53 367

原创 深入理解指针 * chapter 3

数组指针变量是指针变量。整形指针变量: int * pint。存放的是整形变量的地址,能够指向整形数据的指针。浮点型指针变量: float * pf。存放浮点型变量的地址,能够指向浮点型数据的指针。数组指针变量应该是:存放数组的地址,能够指向数组的指针变量。辨析哪个是数组指针:p1是数组,数组10个元素,每个元素类型是int*, 所以第一个是指针数组p2是指针,指针指向的是数组,数组有10个元素,每个元素类型是int , 所以第二个为数组指针数组指针变量。

2024-01-21 16:34:50 903

原创 深入理解指针 * chapter 2

指针在C语言中的地位非常重要,它是最基础和最重要的概念之一。指针的存在让C语言可以进行复杂的内存操作,更好地控制程序的行为,同时也能够实现高效的数据结构和算法。通过指针能实现所谓的“传引用”而不是“传值”,这在函数参数传递时可以有效地改变参数的值,而不仅仅是复制一份参数的值,从而在本质上节约了数据传输性能。其次,C语言支持指针的运算(对指针加减,甚至取指针),这是C语言强大的地方。同时,指针也用于表示和实现各种复杂的数据结构,比如系统地动态分配内存、消息机制、任务调度等。

2024-01-20 22:10:38 1101

原创 深入理解指针 * chapter 1

指针在C语言中的地位非常重要,它是最基础和最重要的概念之一。

2024-01-20 15:24:15 847

原创 利用分支和循环知识编写猜数字游戏

以上就是要讲的内容,本文仅仅简要介绍了通过C语言分支和循环结构的知识实现简单的猜数字游戏,通过编写程序,可以将这部分内容灵活应用,增加趣味!总结。

2024-01-13 22:16:43 917

原创 C语言的分支和循环

C语言是可以实现顺序结构、选择结构、循环结构的结构化程序设计语言,可以使用if、switch实现分支结构,使用for、while、do while实现循环结构。以上就是要讲的内容,本文仅仅简要介绍了C语言分支和循环结构的知识及应用。这些结构不仅为程序员提供了编程的灵活性,而且对于构建清晰、高效的程序流程至关重要。例如,使用嵌套的分支和循环可以解决更复杂的问题,如图形渲染、算法优化等。此外,分支和循环的高级应用,如循环嵌套、分支嵌套、循环套分支和分支套循环等,进一步扩展了它们的功能和实用性。

2024-01-13 15:49:49 858 1

原创 利用数组和函数知识实现简单的扫雷游戏

以上就是要讲的内容,本文仅仅简要介绍了如何利用C语言中数组和函数的知识实现简单的扫雷游戏,通过梳理游戏设计思路可以更好巩固数组和函数相关知识,加深对C语言的理解和掌握。编写一个完整的扫雷游戏需要一定的编程技巧和经验,通过实践可以真正做到活学活用,提高编程能力,我们还可以通过对比和学习改进以上代码,使游戏更加有趣!在线扫雷游戏:http://www.minesweeper.cn/总结。

2024-01-11 21:43:22 896

空空如也

空空如也

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

TA关注的人

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