自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++:初始C++

定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。// xxm是命名空间的名字,一般开发中是用项目名字做命名空间名。// 1. 正常的命名空间定义// 命名空间中可以定义变量/函数/类型int val;//2. 命名空间可以嵌套int a;int b;int c;int d;//3. 同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。

2024-04-29 16:19:43 967

原创 数据结构12:排序

冒泡排序是每次将相邻的两元素比较,如果a[i + 1] > a[i],则对比下一组,如果a[i + 1] < a[i],则交换两元素后进行下一组对比,这样当一趟比完后可以将最大值放在数组的最后,重复上述过程n - 1次,可以实现数组升序排列。基本思想:所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。的排序码顺序进行比较,找到插入位置即将array[i]插入,原来位置上的元素顺序后移。

2024-04-26 20:27:12 535

原创 数据结构11:二叉树的链式结构

在介绍二叉树的基本操作前,需先要创建一棵二叉树,然后才能了解其相关的基本操作。由于二叉树的创建比较难理解,所以我们先手动创建一个链式二叉树,等到本文后面再介绍链式二叉树的创建方法。手动创建链式二叉树:注意:上述代码并不是创建二叉树的方式,真正创建二叉树方式本文后面会介绍。学习二叉树结构,最简单的方式就是遍历。所谓二叉树遍历(Traversal)是按照某种特定的规则,依次对二叉树中的节点进行相应的操作,并且每个节点只操作一次。访问结点所做的操作依赖于具体的应用问题。 遍历是二叉树上最重要的运算之一,也是二

2024-04-22 10:21:33 977

原创 数据结构10:堆和堆排序

树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。有一个特殊的结点,称为根结点,根节点没有前驱结点。除根节点外,其余结点被分成M(M>0)个互不相交的集合T1、T2、……、Tm,其中每一个集合Ti(1<= i <= m)又是一棵结构与树类似的子树。每棵子树的根结点有且只有一个前驱,可以有0个或多个后继。因此,树是递归定义的。注意:树形结构中,子树之间不能有交集,否则就不是树形结构节点的度:一个节

2024-04-21 10:29:34 1366

原创 数据结构9:栈和队列的相互实现

【代码】数据结构9:栈和队列的相互实现。

2024-04-16 22:39:55 490

原创 数据结构OJ:设计循环队列

本题为LeetCode上的经典题目,题目要求我们设计一种循环队列,满足FIFO原则且队尾被连接在队首之后。

2024-04-16 22:31:12 633

原创 数据结构8:队列

头文件。

2024-04-16 15:33:08 372 1

原创 数据结构7:栈

【代码】数据结构7:栈。

2024-04-15 22:54:05 457 1

原创 数据结构6:时间复杂度和空间复杂度

基本操作执行最好1次,最坏O(logN)次,时间复杂度为 O(logN) ps:logN在算法分析中表示是底。基本操作执行最好N次,最坏执行了(N*(N+1)/2次,通过推导大O阶方法+时间复杂度一般看最。基本操作执行最好1次,最坏N次,时间复杂度一般看最坏,时间复杂度为 O(N)基本操作执行了2N+10次,通过推导大O阶方法知道,时间复杂度为 O(N)基本操作执行了M+N次,有两个未知数M和N,时间复杂度为 O(N+M)基本操作执行了10次,通过推导大O阶方法,时间复杂度为 O(1)

2024-04-15 22:49:24 1188 1

原创 OJ在线编程常见输入输出练习

【代码】OJ在线编程常见输入输出练习。

2024-04-14 08:36:05 377 1

原创 数据结构5:双链表的实现

【代码】数据结构5:双链表的实现。

2024-04-14 08:35:11 205 1

原创 数据结构4:基于单链表的通讯录项目

【代码】数据结构4:基于单链表的通讯录项目。

2024-04-13 11:07:21 357 1

原创 数据结构3:单链表的实现

【代码】数据结构3:单链表的实现。

2024-04-13 09:08:21 274 1

原创 数据结构2:基于顺序表的通讯录项目

【代码】数据结构2:基于顺序表的通讯录项目。

2024-04-13 09:07:36 257 2

原创 数据结构1:动态顺序表的实现

【代码】动态顺序表的实现。

2024-04-12 15:36:05 204 1

原创 C语言:编译和链接

静态语义分析通常包括声明和类型的匹配,类型的转换等。就是根据汇编指令和机器指令的对照表一一的进行翻译,也不做指令优化。将源代码程序被输入扫描器,扫描器的任务就是简单的进行词法分析,把代码中的字符分割成⼀系列的记号(关键字、标识符、字面量、特殊字符等)。其实翻译环境是由编译和链接两个大的过程组成的,而编译又可以分解成:预处理(有些书也叫预编译)、编译、汇编三个过程。链接是⼀个复杂的过程,链接的时候需要把一堆文件链接在一起才生成可执行程序。在ANSIC的任何一种实现中,存在两个不同的环境。

2024-04-12 15:30:19 651 1

原创 C语言:文件操作

磁盘(硬盘)上的文件是文件。但是在程序设计中,我们⼀般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分类的)。

2024-04-12 08:08:23 580

原创 C语言:动态内存管理

有时会我们发现过去申请的空间太小了,有时候我们又会觉得申请的空间过大了,那为了合理的使用内存,我们⼀定会对内存的大小做灵活的调整。当是情况②的时候,原有空间之后没有足够多的空间时,扩展的方法是:在堆空间上另找一个合适大小的连续空间来使用。所以如果我们对申请的内存空间的内容要求初始化,那么可以很方便的使用calloc函数来完成任务。当时情况①的时候,要扩展内存就直接原有内存之后直接追加空间,原来空间的数据不发生变化。道,那数组的编译时开辟空间的方式就不能满足了。的空间,并返回指向这块空间的指针。

2024-04-11 21:07:47 1660

原创 C语言:自定义数据类型——结构体

这样的定义就会出问题,因为Node是对前面的匿名结构体类型的重命名产生的,但是在匿名结构体内部提前使用Node类型来创建成员变量,这是不行的。(对齐数=编译器默认的一个对齐数与该成员变量大小的较小值,VS中默认为8,Linux中gcc没有默认对齐数,对齐数就是成员自身的大小)仔细分析,其实是不行的,因为⼀个结构体中再包含⼀个同类型的结构体变量,这样结构体变量的大小就会无穷大,是不合理的。4.如果嵌套了结构体的情况,嵌套的结构体成员对齐到自己的成员中最大对齐数的整数倍处,结构。

2024-03-23 10:25:24 716 1

原创 C语言:数据在内存中的存储

超过一个字节的数据在内存中存储的时候,就有存储顺序的问题,按照不同的存储顺序,我们分为大端字节序存储和小端字节序存储,下面是具体的概念:大端(存储)模式:是指数据的低位字节内容保存在内存的高地址处,而数据的高位字节内容,保存在内存的低地址处。小端(存储)模式:是指数据的低位字节内容保存在内存的低地址处,⽽数据的高位字节内容,保存在内存的高地址处。

2024-03-20 16:50:31 1037 1

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

C语言字符函数和字符串函数介绍

2024-03-19 21:49:39 942 1

原创 chatGPT发不出消息,一直转圈,最简单的解决办法。

解决chatgpt发消息一直转圈现象。

2024-03-10 20:13:25 2171

原创 C语言指针详解

本文详细介绍了C语言中指针相关知识,包括数组指针,函数指针,指针数组,函数指针数组,二维数组等。

2024-03-05 21:47:02 1138

原创 C语言实现扫雷(递归函数的应用)

介绍我写出的扫雷游戏代码并作经验分享。

2024-02-07 19:20:14 1092

原创 C语言的分支和循环

C语言选择结构和循环结构的详细介绍。

2024-01-25 01:34:57 901

原创 C语言中的数据类型和变量以及简单的操作符

数据类型,变量,操作符

2024-01-22 14:32:00 871

空空如也

空空如也

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

TA关注的人

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