自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言实现二叉树以及二叉树的详细介绍

树不同于之前的线性表,树是一种非线性的数据结构,由n(n>=0)个有限节点组成一个具有层次关系的集合。有一个特殊的节点称为根节点,根节点没有前驱节点。除了根节点外,其余节点被分成M(M>0)个互不相交的集合,其中每个集合又是一颗结构与树类似的子树。没一棵子树的根节点有且只有一个前驱结点,但是可以有0个或多个后继节点,因此树是递归定义的。 注:子树之间不能有交集。 (1) 结点的度:一个结点含有的子树的个数称为该结点的度; 如上图:A的为6.(2)叶结点或终端结点:度为0的结点称为叶结点; 如上

2024-07-18 14:40:48 615

原创 C语言实现队列

队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out).入队列:进行插入操作的一端称为。出队列:进行删除操作的一端称为。

2024-07-09 13:37:58 319

原创 C语言实现栈

栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作,栈中的数据元素遵守后进先出LIFO(Last In First Out)原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈,出数据也在栈顶。

2024-07-09 12:22:52 314

原创 C语言实现双向链表

通过名字可以看出,双向链表实际上是带头双向循环链表。相对于之前的单链表来说,带头的意思是存在一个“哨兵位”,故双向链表需要初始化,初始化就是创建一个“哨兵位节点”,双向的意思表示这个链表既能从前往后也能从后往前,所以在双向链表的结构里面应该也含有一个向前指向的指针prev,为了实现循环的效果,在每次创建新的节点是,该节点的next指针和prev指针都应该指向自己。

2024-07-04 11:06:26 536

原创 用C语言实现单链表

概念:链表是一种,但是。。链表的结构跟火车车厢相似,只需要将火车里的某节车厢去掉/加上,不会影响其他车厢,每节车厢都是独立存在的。与顺序表不同的是,链表里的每节“车厢”都是下来的空间,称之为“节点的图中指针变量plist保存的是第一个节点的地址,我们称plist此时“指向”第一个节点,如果我们希望plist“指向”第二个节点时,只需要修改plist保存的内容为0x0012FFA0.

2024-07-03 13:31:05 860

原创 用C语言实现顺序表

概念:数据结构是。数据结构是指。数据结构反映数据的,即数据由那部分构成,以什么⽅式构成,以及数据元素之间呈现的结构。最基础的数据结构:数组。

2024-07-02 13:57:29 720

原创 C语言预处理详解

2. #define定义常量。

2024-07-01 16:18:55 789

原创 C语言程序的编译与链接

1. 翻译环境和运⾏环境1. 翻译环境和运⾏环境我们写的代码是文本文件,计算机能执行的是二进制指令,所以在文件执行之前,需要经过翻译过程把我们写的代码翻译成机器能执行的二进制指令。在ANSI C的任何一种实现中,存在两个不同的环境。第一种是翻译环境,在这个环境中源代码被转换为可执行的机器指令(二进制指令)。第二种是执行环境,它用于实际执行代码。2. 翻译环境:预编译+编译+汇编+链接其实翻译环境是由和两个大的过程组成的,而三个过程。

2024-07-01 15:12:58 833

原创 C语言中的文件操作

1. 为什么使⽤⽂件1. 为什么使⽤⽂件如果没有文件,我们写的程序的数据是存储在电脑内存中的,如果程序退出,内存回收,数据就丢失了,要将数据进行,我们可以使用文件。2. 什么是⽂件磁盘(硬盘)上的文件是文件。但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分类)。2.1程序文件程序文件包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe)。

2024-06-29 15:23:46 710

原创 C语言中的动态内存管理

1. 为什么要有动态内存分配1. 为什么要有动态内存分配之前的内存开辟方式有:但是对于空间的需求,不仅仅是上述的情况。有时候我们需要的空间大小在程序运行的时候才能知道,那数组在编译时开辟空寂的方式就不能满足了,C语言引入了动态内存开辟,可以让程序员自己申请和释放空间,就比较灵活了。动态内存相关的函数都包含在stdlib.h这个头文件中。且动态内存管理函数都是在堆上进行空间开辟的。2. malloc和free2.1mallocC语言提供了一个动态内存开辟函数malloc:这个函数向内存申请一块。

2024-06-29 12:51:18 1071

原创 C语言中的自定义类型: 结构体、联合体和枚举

比如定义一个链表的节点:上述的代码是错误的,如果这样引用sizeof(struct Node)将会变为无穷大.正确的自引用方式是通过。

2024-06-28 13:16:18 949

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

其实超过一个字节的数据在内存中存储的时候,就有存储顺序的问题,按照不同的存储顺序,我们分为大端字节序存储和小端字节序存储,下面是具体的概念:大端(存储)模式:是指数据的低位字节内容保存在内存的高地址处,而数据的高位字节内容,保存在内存的低字节处。⼩端(存储)模式:是指数据的低位字节内容保存在内存的低地址处,⽽数据的⾼位字节内容,保存在内存的⾼地址处。上述地址的表示是左边为低地址,右边为高地址,左边存储的是低位字节,右边存储的是高位字节,所以在这台电脑上的存储方式是小端存储。

2024-06-26 19:12:52 1147

原创 C语言内存函数

1. memcpy使⽤和模拟实现1. memcpy使⽤和模拟实现。

2024-06-23 15:06:10 638

原创 C语言中的字符函数和字符串函数

1. 字符分类函数1. 字符分类函数C语言中有一系列的函数是专门做字符分类的,这些函数的使用都需要包含一个头文件。islower是能够判断参数部分的c是否是小写字母的。通过返回值来说明是否是小写字母,如果是小写字母就返回非0的整数,如果不是小写字母,则返回0。写一个代码,将字符串中的小写字母转为大写,其他字符不变。2. 字符转换函数有了转换函数就不用通过-32来实现小写转大写了。3. strlen的使⽤和模拟实现3.1函数原型。

2024-06-22 14:31:14 809

原创 C语言深入了解指针(3)

上述的代码表示把首字符‘h’的地址放到了pstr中。并不是把'hello bit.'字符串放到pstr中。这⾥str3和str4指向的是⼀个同⼀个C/C++会把常量字符串存储到单独的⼀个内存区域,当⼏个指针指向同⼀个字符串的时候,他们实际会指向。但是⽤相同的常量字符串去初始化不同的数组的时候就会开辟出不同的内存块。所以str1和str2不同,str3和str4相同。

2024-06-21 21:49:03 1020

原创 C语言深入了解指针(2)

(2)&数组名,这⾥的数组名表⽰整个数组,取出的是整个数组的地址(整个数组的地址和数组⾸元素的地址是有区别的,如果直接用(数组名+1),则跳过的大小是数组中元素的大小。若用&数组名+1,则跳过的大小是整个数组的大小)sizeof(数组名),sizeof中单独放数组名,这⾥的数组名表⽰整个数组,计算的是整个数组的⼤⼩,单位是字节。那么在数组传参的时候,传递的是数组名,也就是说。这⾥我们使⽤ &arr[0] 的⽅式拿到了数组第⼀个元素的地址,类比一下,整型数组,是存放整型的数组,字符数组是存放字符的数组。

2024-06-09 14:12:14 531

原创 C语言深入了解指针(1)

在计算机中把内存划分为⼀个个的内存单元,每个内存单元的⼤⼩取1个字节。其中,每个内存单元,相当于⼀个学⽣宿舍,⼀个字节空间⾥⾯能放8个⽐特位,就好⽐同学们住的⼋⼈间,每个⼈是⼀个⽐特位。每个内存单元也都有⼀个编号(即为地址)(这个编号就相当于宿舍房间的⻔牌号),有了这个内存单元的编号,CPU就可以快速找到⼀个内存空间。C语⾔中给地址起新的名字叫:指针。内存单元的编号 == 地址 == 指针。 计算机中内存大概如下图: 在C语⾔中创建变量其实就是向内存申请空间,⽐如:

2024-06-06 13:12:38 1059

原创 用C语言完成一个简单的扫雷游戏

(1)使用控制台实现简单的扫雷游戏(2)可通过菜单实现继续玩游戏或者退出游戏(3)扫雷的棋盘是9*9的格子(4)默认随机布置10个雷(5)排查雷a. 如果位置不是雷,就显示周围有几个雷b. 如果位置是雷,就炸死游戏结束c. 把除10个雷之外的所以非雷格子都找出来,排雷成功,游戏结束。

2024-04-30 14:36:58 349 2

原创 C语言中的分支循环语句,并使用分支循环语句实现猜数字游戏

if语句的语法形式如下:表达式成立(为真),则语句执行,表达式不成⽴(为假),则语句不执⾏。在C语⾔中,0为假,⾮0表⽰真,也就是表达式的结果如果是0,则语句不执⾏,表达式的结果如果不是0,则语句执⾏。

2024-04-20 20:27:57 591 3

空空如也

空空如也

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

TA关注的人

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